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

显示如下:

相关推荐
资讯第一线2 小时前
Windows系统工具:WinToolsPlus 之 SQL Server Suspect/质疑/置疑/可疑/单用户等 修复
运维
惊起白鸽4503 小时前
LVS负载均衡
运维·负载均衡·lvs
Sapphire~4 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb4 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型5 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
love530love5 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
啵啵学习5 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔5 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服6 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
数字芯片实验室6 小时前
寄存器模型生成:从手工到自动化
运维·自动化