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.repoyum makecache fastyum -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.rpmyum -y localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpmrpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.rorpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpmyum -y install ffmpeg ffmpeg-develffmpeg -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.confcat >> /etc/profile <<"EOF"export PKG_CONFIG_PATH=/apps/usr/opencv_3.4.1/lib64/pkgconfig:$PKG_CONFIG_PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/apps/usr/opencv_3.4.1/lib64EOFsource /etc/profileldconfig
验证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/includeg++ 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安装完成!!!
