opencv库可在https://opencv.org/releases/链接里下载
也可在我的网盘里下载:
链接: https://pan.baidu.com/s/1tQo9yJ_UttJENf0dY8xdJw 提取码: 3fh9
如需opencv支持ffmpeg库,则需要先编译好ffmpeg. 编译方法可参考:
https://blog.csdn.net/jklinux/article/details/72367829
- 先检查cmake工具的版本, 命令"cmake -version", opencv-4.1.0要求cmake版本是3.5.1以上.
如版本低,可升级cmake工具.
tar xf cmake-3.14.5.tar.gz
cd cmake-3.14.5
./configure
make
make install
- 编译opencv库
unzip opencv-4.1.0.zip
cd opencv-4.1.0/
因opencv这个库源码编译是使用cmake工具配置的, 这工具要求不能在源码根目录下操作的.
所以创建一个子目录,然后在子目录里操作
mkdir build
cd build
//让cmake在配置时,使用指定目录下的*.pc文件(这些文件里有记录所需的库路径及库名)
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
cmake ../ //让cmake检查当前系统的状态,在生成的Makefile文件里记录opencv所能用的编译项.
注意输出的如下信息:
//执行后,如输出有以下信息表示opencv可以调用生成窗口界面
//如果GUI里所有项都是NO, 则opencv无法使用图形界面。
-- GUI:
-- GTK+: YES (ver 3.22.30) //如果是NO, 则yum install gtk3-devel*
-- GThread : YES (ver 2.56.1)
-- GtkGlExt: NO
-- VTK support: NO
//表示opencv可支持哪些图像文件格式
-- Media I/O:
-- ZLib: /lib64/libz.so (ver 1.2.7) // yum install zlib*
-- JPEG: /lib64/libjpeg.so (ver 62) // yum install libjpeg*
-- WEBP: build (ver encoder: 0x020e)
-- PNG: /lib64/libpng.so (ver 1.5.13)
-- TIFF: /lib64/libtiff.so (ver 42 / 4.0.3)
-- JPEG 2000: build (ver 1.900.1)
-- OpenEXR: build (ver 1.7.1)
-- HDR: YES
-- SUNRASTER: YES
-- PXM: YES
-- PFM: YES
//表示opencv是否可支持ffmpeg, GStreamer, v4l2等
-- Video I/O:
-- DC1394: NO
-- FFMPEG: YES
-- avcodec: YES (57.24.102)
-- avformat: YES (57.25.100)
-- avutil: YES (55.17.103)
-- swscale: YES (4.0.100)
-- avresample: NO
-- GStreamer: YES (1.10.4)
-- v4l/v4l2: YES (linux/videodev2.h)
cmake配置完成后就会生成Makefile, 然后执行"make && make install"完成即可.
________________________________________________________________________________________________-
为了便系统程序使用opencv库,还需要把opencv库设置一下:
vim /etc/ld.so.conf.d/opencv.conf
增加:
/usr/local/lib64
保存退出后:
ldconfig //执行此命令会更新记录系统里的动态库
QT工程里使用opencv动态库时, pro文件需要指定opencv头文件路径及库路径, 如下:
qt工程里的pro文件:
INCLUDEPATH += /usr/local/include/opencv4/
LIBS += -L /usr/local/lib64 \
-lopencv_calib3d -lopencv_imgproc \
-lopencv_core -lopencv_ml \
-lopencv_dnn -lopencv_objdetect \
-lopencv_features2d -lopencv_photo \
-lopencv_flann -lopencv_stitching \
-lopencv_gapi -lopencv_videoio \
-lopencv_highgui -lopencv_video \
-lopencv_imgcodecs
//同时需要注意,因系统环境的不同,opencv有些库是不会生成的。