一、安装Qt
从官网(http://download.qt.io/archive/qt/)下载所需版本的.run文件,然后放置到某个文件夹里边(文件夹位置随意),然后在文件夹里右键打开终端输入:
sudo ./qt-opensource-linux-x64-5.8.0.run
就开始了Qt的安装,安装过程可参考链接
https://blog.csdn.net/wuweifeng_2017/article/details/78322249
二、安装配置Opencv3.4
首先从管网(https://github.com/opencv/opencv)上下载所需opencv的版本,我这里下载的是Opencv3.4.7,其实3.4.x版本都可以,下载zip文件,解压到任意一个位置,在解压后文件目录里打开终端输入以下5条指令:
mkdir build
cd build
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
这时候,Opencv编译的依赖包已经安装好了,接下来对它进行编译,输入以下指令:
如果执行第一条指令的时候卡在了Download: ippicv_2019_lnx_intel64_general_20180723.tgz很长时间,可以进行手动下载,参考链接https://blog.csdn.net/orDream/article/details/84311697
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
三、安装配置opencv+opencv_contrib
先下载opencv和opencv_contrib,然后将opencv_contrib放到opencv文件夹的目录里面
先后执行以下指令:
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
然后再执行
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
注意:如果报错的话,可以将OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules 这里换成绝对路径,比如我的就是OPENCV_EXTRA_MODULES_PATH=/home/cyq/opencv-3.4.7/opencv_contrib-3.4.7/modules,别忘记了最后的那两个点!!
然后运行应该就没有问题了
接着再执行,-j8是指用CPU八核去编译,如果没有八核可以直接输入make代替make -j8
make -j8
sudo make install
然后参考第二部分的环境配置就OK了!
四、测试
新建一个qt工程,只创建简单的C++工程即可,然后打开pro文件,输入以下内容:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so
然后在main.cpp中输入以下代码:记得图片要放到编译后的-Debug文件夹下
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat src= imread("flower.jpg");
imshow("这是一朵花", src);
waitKey(0);
return 0;
}
最后显示结果为: