Ubuntu系统下编译OpenCV4.8源码

OpenCV4.8源码编译与安装

其实很简单,只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。

01下载OpenCV4.8源码包

在Ubuntu系统化下打开终端命令行窗口,执行下面的命令行即可

复制代码
wget -o opencv4.8.zip https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip

下载完成以后

复制代码
unzip -d opencv4.8 opencv4.8.zip

02安装第三方库支持

直接执行下面的命令行即可

复制代码
sudo apt install -y g++ cmake make git libgtk2.0-dev pkg-config

03创建Build目录执行编译与安装

首先运行

复制代码
cd opencv4.8
mkdir -p build && cd build

执行完成以后直接运行下面的命令行:

复制代码
cmake ../opencv

在执行该命令行生成安装文件

复制代码
make -j4

使用下面的命令行完成安装

复制代码
sudo make install

C++代码测试

运行一个简单的OpenCV图像显示的程序验证OpenCV4.8 C++开发环境的正确性。重新打开一个终端命令行窗口,运行下面的命令行:

复制代码
mkdir opencv480_test
nano CMakeLists.txt

然后把下面的脚本粘贴进去

复制代码
cmake_minimum_required(VERSION 2.8)
project( OpenCV480_Test )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( OpenCV480_Test helloworld.cpp )
target_link_libraries( OpenCV480_Test ${OpenCV_LIBS} )

按Ctrl+X退出,选择y保存 然后继续运行

复制代码
nano helloworld.cpp

把下面的代码粘贴进去,保存以后退出。

复制代码
#include  
#include  
using namespace cv; 
int main(int argc, char** argv) 
{ 
    Mat image = imread("lena.jpg"); 
    if (image.empty()) { 
        printf("No image data 
"); 
        return -1; 
    } 
    namedWindow("OpenCV480_Test", WINDOW_AUTOSIZE); 
    imshow("OpenCV480_Test", image); 
    waitKey(0); 
    return 0; 
}

执行下面的命令

复制代码
cmake .

成功以后执行

复制代码
make

然后执行

复制代码
./ OpenCV480_Test

显示如下:

相关推荐
重生之小比特15 分钟前
【Linux系统】17 库制作与原理(上)
linux·运维·服务器
wzg201629 分钟前
ubuntu 离线安装 docker-compose
linux·ubuntu·docker
Shadow(⊙o⊙)38 分钟前
仿muduo实现高并发服务器——EchoServer完成
运维·服务器
行走的陀螺仪40 分钟前
Claude Code 从入门到实战(三):Hooks、Skills、SubAgents 高级扩展
linux·编辑器·vim
Brilliantwxx1 小时前
【STM32】 内部 Flash 的 HAL 库函数详解与自定义封装实战
linux·服务器·网络
时间售卖铺1 小时前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
小豆庄2 小时前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图
码途行者2 小时前
Linux 服务器 Golang 安装及环境变量配置
linux·运维·服务器
叼烟扛炮2 小时前
Linux 学习笔记(四十七):TCP 状态机与 tcpdump 抓包排雷实战
linux·网络·笔记·学习·tcp/ip·tcpdump
爱和冰阔落2 小时前
【Linux网络】UDP 聊天室怎么实现?从在线用户管理、消息广播到双线程收发与线程池
linux·运维·网络·udp