在运行时如何选择版本,只需在CMakeLists.txt中
find_package(OpenCV 4.2.0 REQUIRED)输入opencv版本
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt install python3-dev python3-numpy
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
为适应YOLO V7尝试用4.6.0版本(V7要求大于等于4.5.0)
可以在官网Releases - OpenCV下载相应版本的OpenCV,主要有Source和GitHub方式下载。
Releases - OpenCV
也可以直接从天翼网盘下载4.2.0
天翼云盘 珍藏美好生活 家庭云|网盘|文件备份|资源分享 (访问码:7ufl)
unzip opencv-4.2.0.zip
在解压的文件夹里新建一个文件夹用来编译OpenCV:
cd opencv-4.2.0
mkdir release
cd release
然后在新建的这个文件里运行cmake:
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。
cmake 过程中,可能会在下面位置花费较长时间(网络原因,耐心等)。
IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz(情况下很快)
之后就是编译和安装了,我的电脑是四核八线程,可以运行make -j8,如果是四核可用make -j4。
make -j8
make -j32会花费较长时间。-j64会卡,更费时间
sudo make install
这一步很快。
配置c++了,先在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib。
配置OpenCV动态库环境——程序执行时加载动态库*.so的路径,之后配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到:
sudo gedit /etc/ld.so.conf.d/opencv.conf
在其打开的文件中添加:
/usr/local/lib
执行如下命令使得刚才的配置路径生效:
更新pkg-config:
sudo ldconfig
sudo gedit /etc/bash.bashrc
在最后面添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存之后,将文件夹关掉,再执行以下命令使其立马生效:
source /etc/bash.bashrc
更新
sudo updatedb
pkg-config --modversion opencv4
pkg-config --libs opencv4
pkg-config --cflags opencv4
检验一下,我的输出如下:
vivobook@fairlee: pkg-config --libs opencv4 -L/usr/local/lib -lopencv_dnn -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
删掉opencv4.conf文件,再在你编译的文件夹(我的是release)下运行
sudo make uninstall
即可。
参考文献:
(109条消息) Ubuntu系统安装 OpenCV4.2.0_Serinus的博客-CSDN博客_ubuntu安装opencv4.2