CentOS7.6编译opencv3.4.1、opencv_contrib、ffmpeg

CentOS7.6编译opencv3.4.1/opencv_contrib/ffmpeg

    • 本机信息
    • 配置epel源,安装依赖包和基础包
    • 编译安装ffmpeg
    • 下载opencv3.4.1以及opencv_contrib3.4.1
    • 编译安装opencv及contrib
    • 遇到的部分问题
    • 参考

每次搜centos7装opencv的时候都要开一大堆链接,自己记录一下。参考的博客有点多,自己在安装过程中有复制关键信息,有的网址就不记得了,没有在参考里出现的可以联系我加上…

本机信息

物理机系统:Ubuntu16.04 LTS,有桌面
虚拟机系统:CentOs7.6 (nvidia-docker),无桌面,已安装cuda-8.0
显卡:GeForce GTX 1080
以下操作在虚拟机中完成。

配置epel源,安装依赖包和基础包

sudo yum -y install epel-release
sudo yum install gcc gcc-c++ cmake python-devel numpy
sudo yum install gtk2-devel libdc1394-devel libv4l-devel gstreamer-plugins-base-devel

以下可选

sudo yum -y install gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel libavc1394-devel libraw1394-devel jasper-devel jasper-utils swig libtool nasm

编译安装ffmpeg

ffmpeg官网地址:http://ffmpeg.org/
nasm官网地址:https://www.nasm.us/ (可以直接yum安装)
yasm下载地址:http://www.tortall.net/projects/yasm/releases/
我选择编译安装,因为之前直接yum安装的在运行的时候报pkg-config path里没有ffmpeg的.pc文件的错误,而只有编译安装的才有pc文件。
这两篇可供参考,我忘记我用的是哪个了…
[CentOS_7.4]Linux编译安装ffmpeg
https://www.cnblogs.com/miaosha5s/p/7670447.html
centos7下 ffmpeg 的编译
https://www.jianshu.com/p/01425782d823

下载opencv3.4.1以及opencv_contrib3.4.1

两个版本一定要对应,不然报错装不上。
opencv标准github站:http://github.com/opencv
参考博客:https://blog.csdn.net/u012704941/article/details/80396249
下载时,在Branch里面点Tag,选择相同版本号的下载即可。

编译安装opencv及contrib

解压刚刚下好的两个压缩包,将contrib放进opencv-3.4.1文件夹中。

mkdir opencv3.4.1/build
cd opencv3.4.1/build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D with-contrib=ON -D with-cuda=ON -D with-ffmpeg=ON -D with-tbb=ON -D WITH_GSTREAMER=ON -D WITH_JPEG=ON -D WITH_GTK=ON -D WITH_PNG=ON -D WITH_FFMPEG=ON -D WITH_V4L=ON -D WITH_LIBV4L=ON ..
make -j4
sudo make install

make这一步超级慢,需要耐心等待。一般来说,安装好了依赖包在make阶段不会报错,但我的电脑经常抽抽,报错的话,重新make一下就好,再有具体的错误的话,可以再查如何解决。
安装好需要加动态库配置,并加载。

/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

安装完成,可以自己找代码测试。由于我没有装桌面,所有imshow我用不了,只能用imwrite。

遇到的部分问题

1、symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard 错误
解决:更新glib2包。sudo yum update glib2
2、在make过程中有些modules下不下来,应该是网络问题
解决:查看build文件夹底下的CMakeDownloadList(好像是叫这个名字。。)根据里面的错误,挨个儿手动下载,再放到对应的文件夹底下就好。
3、其他:(待更新)
我自己没有遇到ippicv下不下来的问题,如果有遇到的,可以试试参考这个博客解决。
https://blog.csdn.net/CSDN1154366625/article/details/80933570

参考

https://blog.csdn.net/m0_37811342/article/details/80896671
等等

你可能感兴趣的:(opencv,centos,opencv_contrib,ffmpeg)