1.ubuntu环境 安装opencv4
2.编译opencv4 并移植到ARM64位开发板
一、ubuntu环境 安装opencv4
1.安装opencv所需依赖库
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下载opencv4源码
下载地址:https://opencv.org/releases/
3.安装CMake工具
sudo apt-get install cmake sudo apt install cmake-qt-gui sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config
4.配置CMake交叉编译OpenCV
4.1 将源码解压,并在目录下新建build/install文件夹
4.2 终端下直接运行cmake-gui
4.3 在cmake-gui配置 配置源码位路径和build路径
4.4 点击configure
4.5 因为我们此时是为ubuntu本机配置opencv4环境 所以直接选 Unix Makefiles Use default native compilers就行
4.6 开启world模式 常规下编译opencv源码会生成很多库。如果在使用CMake生成VS解决方案时把BUILD_opencv_world选项勾上,则可以只生成一个库。
4.7 设置build type
4.8 设置install路径
4.9 开启pkgconfig选项,否则无法生成opencv4.pc文件
4.10 再次点击 Configure 只能点击Generate
5. 进入刚才新建的build文件夹内 执行命令 make -j4 && make install 开始编译源码
6.系统配置
6.1 执行以下命令编辑文件(如果没有就创建):
sudo gedit /etc/ld.so.conf.d/opencv.conf
6.2 在打开的opencv.conf文件尾部增加以下内容:
(即 刚才设置的prefix路径 + /lib) 每个人的地址不一样不要直接复制粘贴
6.3 执行配置:
sudo ldconfig
6.4 执行以下命令编辑文件(如果没有就创建):
sudo gedit ~/.bashrc
在打开的bash.bashrc文件尾部增加以下内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:刚才设置的prefix路径 + /lib/pkgconfig export PKG_CONFIG_PATH
生效环境变量
source ~/.bashrc
6.5 至此配置完成,退出控制台,再重新打开一个,执行命令
pkg-config --modversion opencv4
注意是opencv4,可以看到opencv的版本号:
pkg-config --modversion opencv4 4.5.4
至此ubuntu环境下的opencv4就安装完成了
7. 使用QT程序验证
7.1 pro文件添加 opencv第三方库
unix:!macx: LIBS += -L$$PWD/../../linux/world/opencv-4.5.4/install/lib/ -lopencv_world
INCLUDEPATH += $$PWD/../../linux/world/opencv-4.5.4/install/include/opencv4
$$PWD/../../linux/world/opencv-4.5.4/install/include//opencv4/opencv2
DEPENDPATH += $$PWD/../../linux/world/opencv-4.5.4/install/include
7.2 main.cpp
#include#include #include #include #include using namespace cv; using namespace std; int main(int argc, char *argv[]) { Mat image = imread("/home/book/图片/报警弹窗.png"); namedWindow("window", WINDOW_NORMAL); imshow("window",image); waitKey(0); return 0; }
二、编译opencv4 并移植到ARM64位开发板
编译arm版本的opencv4 前5步几乎完全一样 但4.5 步骤不同请注意
4.5 cmake setup 选项 参考文献
请先确认已经配置好 自己的交叉编译链环境
PS:如果不想把交叉编译链设置为全家变量 可以选择 Specify options for cross-compling 去设置教程编译链 具体参考
选择 Specify toolchain file for cross-compling选择你交叉编译链对应的cmake文件
路径在 /platforms/linux
打包拷贝:将上一步得到的install文件夹打包成tar或者tar.gz再拷贝到开发板的任意目录下,若不打包则拷贝时会提示某些文件无法复制过去,这里选择开发板中的/opt作为它的解压目录,/opt也是一般默认的软件包的安装位置,便于后续的环境变量的配置及日后的维护和查找。
添加动态库加载路径:运行Vim /etc/ld.so.conf.d/opencv.conf,会提示该文件不存在将新建一个新的conf文件,在打开的conf第一行里写上自己第一步解压的opencv的lib地址,如
/home/jbyyy/opencv4/lib
vim中输入:wq指令保存并退出,随后运行sudo ldconfig激活生效。
3. 环境变量配置:先将解压的opencv文件中位于/lib/pkgconfig下的opencv.pc进行修改:
# Package Information for pkg-config
prefix=/home/jbyyy/opencv4/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.5.4
Libs: -L${exec_prefix}/lib -lopencv_dnn -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_videoio -lopencv_imgcodecs -lopencv_features2d -lopencv_video -lopencv_photo -lopencv_imgproc -lopencv_flann -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir_old} -I${includedir_new}
将prefix修改为自己开发板上对应的opencv文件夹的路径如
prefix=/home/jbyyy/opencv4/
修改完成后保存退出,运行Vim /etc/bash.bashrc 在最后一行添加如下:
PKG_CONFIG_PATH=/home/jbyyy/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH export PKG_CONFIG_PATH
注意将路径替换成自己对应的pkgconfig路径, vim中输入:wq指令保存并退出,随后运行source ~/.bashrc激活生效。
运行如下指令若出现如下路径输出则说明pkg配置成功。
pkg-config --modversion opencv4 4.5.4



