一,安装ffmpeg
1.安装epel扩展源及其他扩展源
# 安装epel扩展源
yum -y install epel-release
# 添加扩展源
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum 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
2.安装ffmpeg
# 安装ffmpeg依赖
yum -y install ffmpeg ffmpeg-devel
#检查ffmpeg是否安装成功
ffmpeg --version
二,安装opencv
1.安装gcc和c++编译器
yum install gcc gcc-c++
2.安装cmake
yum install cmake*
3.安装gtk
yum install gtk2-devel
4.下载opencv源码压缩包及opencv_contrib扩展包源码
opencv下载地址:https://github.com/opencv/opencv/releases
opencv_contrib下载地址:https://github.com/opencv/opencv_contrib/releases
opencv我是从这个网站下载的,官网下载太慢:
下载完成后,解压缩,把opencv_contrib放入opencv目录下。
5.编译安装opencv
unzip opencv-3.4.9.zip
cd opencv-3.4.9
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.9/modules \
..
make
make install
OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.9/modules是opencv_contrib的目录
三,配置opencv
编译包含opencv的代码时出现如下错误:
[dvin@localhost ocr]$ g++ -O3 -std=c++11 ocr_test.cpp `pkg-config --cflags --libs tesseract opencv` -o ocr_test
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
ocr_test.cpp:4:30: 致命错误:opencv2/opencv.hpp:没有那个文件或目录
#include <opencv2/opencv.hpp>
这是因为pkg-config的搜索路径里面找不到opencv.pc这个文件,我们在/usr/local/opencv3/lib64/pkgconfig文件夹下找到opencv.pc这个文件,拷贝到/usr/local/lib/pkgconfig/目录(环境变量PKG_CONFIG_PATH目录)下,再次编译即可成功。
执行命令时出现如下错误:
[dvin@localhost ocr]$ ./ocr_test tee.png
./ocr_test: error while loading shared libraries: libopencv_dnn.so.3.4: cannot open shared object file: No such file or directory
这一般是因为opencv的库没有配置好,库路径不再系统的环境变量里,无法找到,做如下配置:
#在/etc/id.so.conf.d文件夹中新建opencv.conf文件并且编辑
vim /etc/id.so.conf.d/opencv.conf
#在opencv.conf中添加opencv的库路径
/usr/local/opencv3/lib64
#保存修改,加载配置
ldconfig