Ubuntu16.04 + Qt 5.9 +opencv 3.4(OpenCV_Contrib)轻松配置

一、安装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;
}

最后显示结果为:

发布了11 篇原创文章 · 获赞 14 · 访问量 1562

猜你喜欢

转载自blog.csdn.net/qq_41685265/article/details/103490001