ubuntu18.04源码编译opencv3.4.10以及解决opencv可以读取图片,无法读取视频

目录

          • 1. opencv可以读取图片,无法读取视频
          • 2. 编译opencv3.4.10
            • 2.1 安装依赖项:
            • 2.2 编译、安装
            • 2.3 相关配置
            • 2.4 卸载

1. opencv可以读取图片,无法读取视频

之前编译3.4.10 opencv可以正确读取图片,但是读视频时 capture.isOpened()一直返回false,网上找了很多的资料均没办法解决,大多数是win下添加.dll文件,ubuntu 下的较少,后来的解决方案是重新编译opencv,最终可以正确读视频,和第一次对比有几个不一样的地方,个人猜测是这几个地方的问题,详细的下一节解释。

2. 编译opencv3.4.10
2.1 安装依赖项:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

sudo apt install -y build-essential cmake git pkg-config libgtk2.0-dev libopenexr-dev 
sudo apt install -y gfortran libblas-dev liblapack-dev libeigen3-dev 
sudo apt install -y python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev 
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libavresample-dev libxvidcore-dev libx264-dev libv4l-dev

重装的发现时候有一部分依赖项并没有安装,安装的时候尽可能的把依赖都装上,尽管有些是你自己也不知道这是干嘛的,在安装之前最好把 ffmpeg也装了,apt或者源码都行,上面部分冗余,夜也懒的检查了。

2.2 编译、安装

官网下载编译包,解压、编译

mkdir build
cd build 
cmake ..
make -j8
sudo make install

cmake ..的时候看一下终端,video选项关于ffmpeg的前两个选项是不是yes,第一次我没注意所以不确定,第二次的时候看了一下,是支持的。

2.3 相关配置
配置环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
看看下面一行内容有没有,没有添加
/usr/local/opencv/lib

配置库
sudo ldconfig

添加环境变量
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig  
export PKG_CONFIG_PATH 
更新下环境变量

上面这三步关于配置相关的操作还是执行下

2.4 卸载

卸载opencv
1.在安装目录下 make uninstall
2.或者直接删除相关文件

cd /usr
sudo find . -name "*opencv*" | xargs sudo rm -rf 

你可能感兴趣的:(工具使用,opencv)