Opencv编译安装教程(Linux)
微笑396 2024-10-01 13:07:08 阅读 61
一、安装环境
虚拟机:
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_example
6、最后在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/cvui
2、编译安装
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
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。