centos8.2配置OpenCV环境

源码安装opencv

本文介绍从源码安装 OpenCV,相比较于从 CentOS 源仓库安装 OpenCV,从源码安装OpenCV可以允许你安装最新可用的版本。它还将针对你的特定系统进行优化,并且你可以完整控制所有的构建选项。
1.安装必要的和可选的依赖软件包:

  dnf install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \

 python3 python3-devel python3-pip cmake python3-devel python3-numpy \

 gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \

 libjpeg-turbo-devel libtiff-devel tbb-devel libv4l-devel \

  freeglut-devel mesa-libGL mesa-libGL-devel \

 boost boost-thread boost-devel gstreamer1-plugins-base

这里需要注意eigen3-devel不可通过dnf直接安装,需要通过以下命令安装

dnf --enablerepo=PowerTools install eigen3-devel

在安装到python3-devel时有可能会出现

can't open file 'python3-devel': [Errno 2] No such file or directory

需要输入

dnf config-manager --set-enabled PowerTools

再重新执行以上命令。
原因可参考

https://bugzilla.redhat.com/show_bug.cgi?id=1758522

2、下载OpenCV和OpenCV contrib库
创建临时目录

mkdir -p /tmp/opencv && cd /tmp/opencv
//推荐使用国内源
git  clone https://gitee.com/mirrors/opencv.git
git  clone https://gitee.com/mirrors/opencv_contrib.git

也可,速度慢,不推荐,头铁可试。

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

下载指定版本:

git clone https://github.com/opencv/opencv/archive/4.1.2.zip
git clone https://github.com/opencv/opencv_contrib/archive/4.1.2.zip

3、创建临时目录,并进入

cd /tmp/opencv/opencv && mkdir build && cd build

4、配置OpenCV build,运行以下命令

cmake3 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local  -D INSTALL_C_EXAMPLES=ON  -D INSTALL_PYTHON_EXAMPLES=ON  -D OPENCV_GENERATE_PKGCONFIG=ON  -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv/opencv_contrib/modules  -D BUILD_EXAMPLES=ON ..

opencv_contrib要改成自己相应的名字路径
执行完成后,将会输出如下:

-- Build files have been written to: /tmp/opencv/opencv/build

5、编译,运行以下命令

make -j1

这里请注意,请根据处理器修改-j 后的值,可以键入nproc查看,我的系统cpu数是1。
可能出现的问题:
在这里插入图片描述
解决方法如下:

cp /tmp/opencv/opencv-4.1.0/modules/dnn/test/test_common.hpp /tmp/opencv/opencv-4.1.0/build/modules/dnn/

也就是将opencv下的modules\dnn\test\test_common.hpp 复制到opencv编译build目录下的modules\dnn\ 下
6、安装OpenCV库,运行以下命令

make install

7、将symlink opencv4.pc文件创建到/usr/share/pkgconfig目录,然后运行ldconfig重建库高速缓存

ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
ldconfig

8、检查OpenCV版本

pkg-config --modversion opencv4

正常会返回

4.5.3

在验证版本时可能会出现到不到版本的情况,具体的忘记截了。

Package opencv was not found in the pkg-config search path.

解决方法如下:

cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc
sudo vim opencv.pc

首先建一个新的文件夹:pkgconfig
然后cd到这个文件夹下,新建opencv.pc文件;
再打开opencv.pc文件,文件内输入:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib64

Name: opencv
Description: The opencv library
Version:4.5.3
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core

其中version是你的opencv版本。
最后:wq保存退出。
记得根据自己的需求改内容。
再重新输入命令就好啦。。。
9、验证Python cv2模块运行,请运行以下命令

python3 -c "import cv2; print(cv2.__version__)"

如无问题会返回

4.5.3-div

根据自己情况会有所不同,能打印出来即可。


版权声明:本文为qq_42430540原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。