Ubuntu系统下编译OpenCV4.8源码记录

2023-10-27 16:08:13 浏览数 (1)

前言

很多人经常会问我是否有在Ubuntu系统化下开发OpenCV C 应用的教程,其实我一直没有,然后我有几块开发板都是基于Linux的,有Jetson系列的开发板,所以我以前写过一篇文章如何在Jetson开发板上编译OpenCV源码与编译运行OpenCV C 应用程序。我现在还有一块Alxboard开发板是英特尔家族的,安装的是操作系统是Ubuntu20的系统,本身没有自带OpenCV C 支持,所以就用这个开发板给大家演示一下如何在乌班图系统下编译OpenCV4.8源码与如何编译执行OpenCV C 应用。

OpenCV4.8源码编译与安装

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

01

下载OpenCV4.8源码包

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

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

下载完成以后

代码语言:javascript复制
unzip -d opencv4.8 opencv4.8.zip

02

安装第三方库支持

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

代码语言:javascript复制
sudo apt install -y g   cmake make git libgtk2.0-dev pkg-config

03

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

首先运行

代码语言:javascript复制
cd opencv4.8
mkdir -p build && cd build

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

代码语言:javascript复制
cmake ../opencv

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

代码语言:javascript复制
make -j4

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

代码语言:javascript复制
sudo make install

C 代码测试

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

代码语言:javascript复制
mkdir opencv480_test
nano CMakeLists.txt

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

代码语言:javascript复制
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保存

然后继续运行

代码语言:javascript复制
nano helloworld.cpp

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

代码语言:javascript复制
#include <opencv2/opencv.hpp> 
#include <stdio.h> 
using namespace cv; 
int main(int argc, char** argv) 
{ 
    Mat image = imread("lena.jpg"); 
    if (image.empty()) { 
        printf("No image data n"); 
        return -1; 
    } 
    namedWindow("OpenCV480_Test", WINDOW_AUTOSIZE); 
    imshow("OpenCV480_Test", image); 
    waitKey(0); 
    return 0; 
}

执行下面的命令

代码语言:javascript复制
cmake .

成功以后执行

代码语言:javascript复制
make

然后执行

代码语言:javascript复制
./ OpenCV480_Test

显示如下:

0 人点赞