QT的下载安装
OpenCV编译
一、OpenCV 安装指令顺序如下:
首先安装构建 OpenCV 的相关工具,然后再编译 OpenCV 安装。
# 安装build-essential、cmake、git和pkg-config
$ sudo apt-get install build-essential cmake git pkg-config
# 安装jpeg格式图像工具包
$ sudo apt-get install libjpeg8-dev
# 安装tif格式图像工具包
$ sudo apt-get install libtiff5-dev
# 安装JPEG-2000图像工具包
$ sudo apt-get install libjasper-dev
# 安装png图像工具包
$ sudo apt-get install libpng12-dev
# 安装视频I/O包
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
# 安装gtk2.0以及相关包
$ sudo apt-get install libgtk2.0-dev
# 优化函数包
$ sudo apt-get install libatlas-base-dev gfortran
下面的几个包可能系统里已经被安装好,手动安装一下以防未安装。
$ sudo apt-get install build-essential pkg-config libavcodec-dev libavformat-dev libswscale-dev
以上下载我没有换源,因为换源失败,恢复了原样,但是上面内容可以正常下载。
若以上构建 OpenCV 相关工具的安装失败下载失败,请在开始之前尝试换源,然后在重复以上步骤。
**注意:**官方源不要删,可以用 # 注释备用。
建议优先使用官方源,即不更改源,为保证稳定,本文涉及到的所有的安装一般来说官方源都可以下载到的,亲测,如果没有,建议 update 一下:
$ sudo apt-get update
https://blog.csdn.net/zqxdsy/article/details/102574239
https://blog.csdn.net/zqxdsy/article/details/102574239
二、OpenCV的下载安装:
1.下载opencv3.4.3和opencv_contrib3.4.3(可以选择其他版本,不过二者版本号需一致)
法一:直接下载解压使用
OpenCV源码下载地址(OpenCV源码可直接下载,下面的扩展包最好用wget下载)
OpenCV_contrib下载地址(我是直接下载的,有的说直接下载contrib包后面编译会出错,因此需要使用wget下载contrib,推荐法二使用wget下载方式,避免出错)
法二:使用wget下载OpenCV源码
//** 下载后需要解压到用户目录下
// 下载OpenCV
wget -O opencv-3.4.3.zip https://github.com/Itseez/opencv/archive/3.4.3.zip
// 解压OpenCV
unzip opencv-3.4.3.zip
// 下载OpenCV_contrib库:
wget -O opencv_contrib-3.4.3.zip https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip
// 解压OpenCV_contrib库:
unzip opencv_contrib-3.4.3.zip
2.将下载的源码解压缩,并在终端中进入源码目录
//具体路径请以实际为准
cd ~/opencv-3.4.3
3.新建release文件夹,用来存放cmake编译时产生的临时文件
// 新建release文件夹
mkdir release
// 进入release文件夹
cd release
4.设置cmake编译参数,安装目录默认为/usr/local 。
注意参数名、等号和参数值之间不能有空格,每行末尾“\”之前有空格,这里使用换行符“\”是为了看起来工整,参数值最后是两个英文的点,意思是上级目录(【注意】如果在root用户下执行cmake命令,请将OPENCV_EXTRA_MODULES_PATH的值改为绝对路径,如:/home/pi/opencv_contrib-3.4.3/modules):
在这里插入代/** CMAKE_BUILD_TYPE是编译方式
* CMAKE_INSTALL_PREFIX是安装目录
* OPENCV_EXTRA_MODULES_PATH是加载额外模块
* INSTALL_PYTHON_EXAMPLES是安装官方python例程
* BUILD_EXAMPLES是编译例程(这两个可以不加,不加编译稍微快一点点,想要C语言的例程的话,在最后一行前加参数INSTALL_C_EXAMPLES=ON,要C++例程的话在最后一行前加参数INSTALL_C_EXAMPLES=ONINSTALL_CXX_EXAMPLES=ON)
**/
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.3/modules \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_CXX_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON ..
码片
配置成功后如下图
因为下一步的编译会使用release文件中的东西,假如编译失败后还要重新进行cmake,比较耽误时间,这里可以直接备份一下cmake好的release文件夹,命名为release1,重新make的时候可以拿来用。
//返回上层目录
cd ..
//备份release文件夹
cp -r release ./release1
5.开始编译
/**
* 以管理员身份,否则容易出错
* make命令参数-j4指允许make使用最多4个线程进行编译,这样编译速度会更快
* 可以根据自己机器的情况进行更改
* 使用tee命令可以将编译过程中终端显示的信息保存到make.log文件中,便于查看,这样即使VNC断线,终端的* 信息太多看不到,也可以通过make.log文件查看编译过程。
**/
sudo make -j4 2>&1 | tee make.log
// 安装
sudo make install
// 更新动态链接库
sudo ldconfig
注意:在这里使用sudo make -j4 2>&1 | tee make.log命令的时候编译了两次,每次到20左右就会出错,所以更换命令为
sudo make
但是这样编译速度特别慢,大约编译了6个小时左右,最终结果到百分之80左右继续报错。
将错误一一处理后,最终编译成功。
经过 sudo make 命令以后,终于编译到100%,编译成功如图所示;
然后继续执行:
sudo make install
编译图如图所示:
最后更新动态链接库:
sudo ldconfig
以上编译完成。
参考博客1:
https://blog.csdn.net/qq_39772921/article/details/102938802?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE4B%E5%AE%89%E8%A3%85QT%E5%92%8Copencv&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-102938802
【主要参考安装构建 OpenCV 的相关工具的安装命令那一部分】
参考博客2:
https://blog.csdn.net/zqxdsy/article/details/102673226#comments_12428558
https://blog.csdn.net/zqxdsy/article/details/102673226?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE4B%E5%AE%89%E8%A3%85QT%E5%92%8Copencv&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-5-102673226
【主要参考OpenCV源码下载及编译命令】
参考博客3:(编译出错问题参考)
https://blog.csdn.net/qq_41923091/article/details/100980627?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159106031219724835845223%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159106031219724835845223&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-19-100980627.pc_insert_v5&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE4B%E5%AE%89%E8%A3%85QT%E5%92%8Copencv
出错问题参考:
1、
https://blog.csdn.net/crossni/article/details/104609565?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159106031219724835845223%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159106031219724835845223&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-4-104609565.pc_insert_v5&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE4B%E5%AE%89%E8%A3%85QT%E5%92%8Copencv
2、
https://www.jianshu.com/p/403ab3aa04ed
3、
https://blog.csdn.net/u011736771/article/details/85960300?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
4、
https://blog.csdn.net/ps578068355/article/details/105498332
5、https://blog.csdn.net/gbz3300255/article/details/90240912
6、
https://blog.csdn.net/weixin_44152895/article/details/102882502?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
7、
https://blog.csdn.net/gbz3300255/article/details/90240912?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
基本上在编译opencv到80% ,90%左右的时候会提示找不到一些文件,需要下载后放在相应的文件夹中。
缺少文件下载包如下:(xfeatures2d.zip)
https://download.csdn.net/download/qq_43072582/12493109