一、安装环境
虚拟机: Ubuntu 22.04 opencv 版本: opencv-4.5.2 、 opencv_contrib-4.5.2 、 cvui-2.9.0-beta二、编译opencv和opencv_contrib
1、源码下载:
opencv : https://github.com/opencv/opencv 链接 2 : https://opencv.org/releases/ github下载 opencv_contrib : https://github.com/opencv/opencv_contrib 注意事项 :opencv_contrib 和 opencv 版本 要对应2、安装前准备
在自己虚拟机的主目录中创建一个 opencv_build ,将两个源码包解压的文件夹放入 其中: mkdir ~/opencv_build && cd ~/opencv_build/opencv-4.5.2/ mkdir build cd build安装依赖项
安装 g++, cmake, make ,wget, unzip sudo apt install -y g ++ sudo apt install -y cmake sudo apt install -y make sudo apt install -y wget sudo apt install -y unzip安装opencv依赖的基本库
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-devlibavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
3、编译安装
cmake 配置 sudo cmake -DCMAKE_BUILD_TYPE = RELEASE \- DCMAKE_INSTALL_PREFIX = /usr/local \- DOPENCV_EXTRA_MODULES_PATH = /home/pjy/opencv_build/opencv_contrib- 4.5.2/modules .. \- DWITH_CUDA = 1 \- DWITH_GTK = ON \- DENABLE_FAST_MATH = 1 \- DCUDA_FAST_MATH = 1 \- DWITH_CUBLAS = 1 \- DOPENCV_GENERATE_PKGCONFIG = ON \- DWITH_GSTREAMER = ON \.. -DOPENCV_EXTRA_MODULES_PATH= /home/pjy/opencv_build/ opencv_contrib-4.5.2/modules 加粗部分换成自己的路径 -DOPENCV_EXTRA_MODULES_PATH= /home/pjy/opencv_build/opencv_contrib- 4.5.2 /modules 指明 opencv_contrib 路径,这样好一起编译 如下图就成功:make 编译 opencv 和 opencv_contrib 版本号一定要对应,不然编译会报错 sudo make -j8
编译完成后,安装
sudo make install
4、环境配置
配置 pkg-config 环境 sudo gedit /etc/profile.d/pkgconfig.sh可能为空文件,在文件中加入
export PKG_CONFIG_PATH = /usr/local/lib/pkgconfig: $PKG_CONFIG_PATH保存并退出,source激活
source /etc/profile
验证是否成功
// 查看版本,有输出 4.5.2 就成功 pkg-config --modversion opencv4 // 查看库 pkg-config --libs opencv4输出类似下面这样即为成功
配置动态库环境 sudo gedit /etc/ld.so.conf.d/opencv4.conf文件末尾加上
/usr/local/lib
使配置生效
sudo ldconfig
5、demo测试
打开新终端,进入到 example_cmake 目录 cd ~/opencv_build/opencv-4.5.2/samples/cpp/example_cmake cmake . make ./opencv_example6、最后在qt的.pro中加入头文件路径和库就可以在qt中使用了
# 添加 opencv 头文件 INCLUDEPATH += /usr/local/include/opencv4 INCLUDEPATH += /usr/local/include/opencv4/opencv2 # 添加 opencv 库文件 LIBS += -L /home/geclab/buildroot-2016.11/output/host/usr/arm-none- linux-gnueabi/sysroot/usr/local/lib -lopencv_gapi - lopencv_stitching -lopencv_aruco -lopencv_bgsegm - lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect - lopencv_dnn_superres -lopencv_dpm -lopencv_face -lopencv_fuzzy - lopencv_hfs -lopencv_img_hash -lopencv_intensity_transform - lopencv_line_descriptor -lopencv_mcc -lopencv_quality - lopencv_rapid -lopencv_reg -lopencv_rgbd -lopencv_saliency - lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching - lopencv_tracking -lopencv_highgui -lopencv_datasets -lopencv_text - lopencv_plot -lopencv_videostab -lopencv_videoio - lopencv_wechat_qrcode -lopencv_xfeatures2d -lopencv_shape - lopencv_ml -lopencv_ximgproc -lopencv_video -lopencv_dnn - lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d - lopencv_imgcodecs -lopencv_features2d -lopencv_flann - lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core我一般都是这样写
#添加opencv 的头文件 ARM-OpenCV 环境
INCLUDEPATH += /opencv4-arm/include
INCLUDEPATH += /opencv4-arm/include/opencv4
INCLUDEPATH += /opencv4-arm/include/opencv4/opencv2
#添加OpenCV库文件
LIBS += -L/opencv4-arm/lib -lopencv_world
#Windows OpenCV 环境
#添加头文件
INCLUDEPATH += E:\OpenCV\include
INCLUDEPATH += E:\OpenCV\include\opencv2
#添加库文件
LIBS += E:\OpenCV\x64\mingw\lib\libopencv_*.a
三、cvui的安装
1、源码下载:
https://github.com/Dovyski/cvui2、编译安装
mkdir -p ~/cvui-2.9.0-beta/build cmake . make sudo make install
3、查看是否安装成功
ls /usr/local/include四、参考文章
参考博客: https://blog.csdn.net/weixin_73378881/article/details/132167614?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-132167614-blog-125799361.235 https://blog.csdn.net/bjh123hxhdhd/article/details/134608662?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-134608662-blog-132167614.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-134608662-blog-132167614.235%5Ev43%5Econtrol&utm_relevant_index=5