date: 2020-07-13title: Centos 7.6安装opencv #标题
tags: OpenCV #标签
categories: linux大杂烩 # 分类
源码安装OpenCV
从源代码构建OpenCV库可以拥有最新的可用版本。它将针对特定系统进行优化,并且我们将完全控制构建选项。
安装依赖项
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache fast
yum -y install unzip cmake gcc gcc-c++ kernel-devel \
gcc-gfortran git libgnomeui-devel gtk2 gtk2-devel \
gtk2-devel-docs gnome-devel gnome-devel-docs python-devel \
numpy libdc1394-devel libv4l-devel gstreamer-plugins-base-devel ant
安装ffmpeg组件
yum -y localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum -y localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel
ffmpeg -version # 查看ffmpeg版本
ffmpeg版本返回信息如下:
安装配置OpenCV
OpenCV托管在github上,国内用户下载的话,比较慢(我的网速压根下不动),所以我fork到了码云一份,从码云下载比较快,下面是码云及github的下载页面链接:
github比较新,我在码云fork此仓库时,opencv最新版本为4.1.1。
自行选择。
注:码云下载时需要输入机器验证码进行确认,请自行到页面下载后,上传至服务器。
$ mkdir /apps/usr/ -p && cd /apps/usr
$ unzip opencv-3.4.1.zip
$ cd opencv && mkdir build && cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/apps/usr/opencv_3.4.1 \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=ON ..
# CMake构建系统完成后,将看到以下输出:
-- Configuring done
-- Generating done
-- Build files have been written to: /apps/usr/opencv/build
若在cmake阶段卡在下面的界面:
可以参考CSDN 博文,进行解决,如下(所需tgz包从作者提供的github地址下载较慢,可以选择从我的网盘下载,提取码jaka:):
好,我们接着往下搞。
$ make -j$(nproc)
# 输出如下信息,表示make成功:
[100%] Linking CXX executable ../../bin/example_cpp_contours2
[100%] Built target example_cpp_contours2
[100%] Linking CXX executable ../../bin/example_cpp_example
[100%] Built target example_cpp_example
$ make install # 安装opencv
$ echo $? # 输出为0,表示安装成功
0
# 配置环境变量
echo "/apps/usr/opencv_3.4.1/lib64" >> /etc/ld.so.conf.d/opencv.conf
cat >> /etc/profile <<"EOF"
export PKG_CONFIG_PATH=/apps/usr/opencv_3.4.1/lib64/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/apps/usr/opencv_3.4.1/lib64
EOF
source /etc/profile
ldconfig
验证opencv可用性
# 查询OpenCV版本
$ pkg-config --modversion opencv
# 运行测试程序
cd /apps/usr/opencv/samples/cpp/example_cmake/
make
# make 输出如下:
g++ example.cpp -o example.o -c -Wall -I/usr/local/include/opencv -I/usr/local/include
g++ example.o -o opencv_example -L/usr/local/lib64 -lopencv_dnn -lopencv_ml -lopencv_objdetect -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_imgproc -lopencv_flann -lopencv_core -ldl -lm -lpthread -lrt
$ ./opencv_example # 执行生成的程序
Built with OpenCV 3.4.1 # 在这里会卡一阵
无图形化桌面的终端会输出如下:
如果是在图形化桌面上执行的,那么在命令卡住很久后(大概二十分钟左右,只要没报错,就一直等着就对了),会输出以下:
至此,opencv安装完成!!!