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

显示如下:

相关推荐
好评1243 分钟前
【Linux】进程信号
linux·运维·服务器
zhangrelay27 分钟前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
wuminyu29 分钟前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
cakeism82530 分钟前
Gitee DevOps 平台定位、核心能力与选型指南
运维·gitee·devops
xianyuCcCcCCCcc32 分钟前
Nginx 深度解析:从基础架构到反向代理与负载均衡实战全解
linux·运维·nginx·bash·负载均衡
qq_25294131681 小时前
列车车轮缺陷智能检测数据集:800张图像、4大类别,助力铁路安全运维
运维·人工智能·安全·yolo·目标检测·计算机视觉·视觉检测
爱折腾的小码农1 小时前
解决Navicat 17 Premium Lite在Linux上运行报错“LIBSYSTEMD_251‘ not found”问题
linux·运维
Doraemomo2 小时前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人2 小时前
Linux 查看 Java 进程常用命令
java·linux·运维
睡一觉就好了。2 小时前
Linux 信号机制
linux·运维·网络