本人经过了多次尝试,系统崩溃重装多次之后总结经验得到。
安装OpenCV要想在QT下使用没有问题,需要先安装ffmpeg。
1.ffmpeg下载链接如下:
http://ffmpeg.org/
进入官网界面如下
点击Download,然后进入下面的界面
按照图示依次点击,会进入版本下载界面,如下
选择合适的版本下载。
tar -xvf ffmpeg-git-arm64-static.tar.xz
解压后,进入解压文件夹
./configure --extra-cflags=-fPIC
make -j8
make install
至此安装ffmpeg结束,接下来安装opencv
2.opencv下载链接
https://opencv.org/releases/
我下载安装的是opencv3.3
下载解压的命令此处不在赘述。
下载完成后,进入解压目录,并执行下面的命令
首先,修改一个文件,不然安装过程中会报错
vim home/opencv-3.3.0/modules/videoio/src/cap_ffmpeg_impl.hpp
然后加入下面三句宏定义
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
mkdir build
cd build
cmake -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON ..
上面这个cmake命令很重要,尤其是OPENCV_GENERATE_PKGCONFIG=ON,这个很重要,不写安装完成后会出现很多问题。
cmake结束后,继续执行下面的命令
make -j8
make install
至此,,opencv安装愉快的结束。
打开QT运行的时候,大概率报错。
error while loading shared libraries: libopencv_core.so.3.3: cannot open shared object file: No such file or directory
不要慌,还有解决方案,如下
sudo vim /etc/ld.so.conf
在include那句话下面加入
/usr/local/lib
然后在终端执行
sudo ldconfig
下面是环境变量的配置,配置环境变量需谨慎,一定要仔细,不然会导致系统瘫痪。
vim /etc/ld.so.conf.d/opencv.conf
打开文件后输入/usr/local/lib,并保存退出
vim /etc/profile
在末尾加入
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile