ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试

  • 一、前提
    • 1、安装依赖
    • 2、克隆opencv库
  • 二、执行cmake
  • 三、make&&make install和配置
  • 四、新建QT工程
    • 1、新建
    • 2、qt中项目文件的配置
    • 3、在**main.cpp**中修改代码
    • 3、点击左下方的绿色按钮运行

本篇教程是介绍qt的opencv配置,不是作业,如果作业要做qt+opencv的,可以参考这个配置,然后根据自己的想法修改项目文件。

第三章make耗时1~2小时
按照本篇做完,就可以百度图像处理相关的C++版的项目,移植到自己的项目文件里,再在主窗口加几个功能按钮、显示label,一个作业就完成了。我觉得把数字图像处理pycharm或者matlab作业改成c++版本的也行。

一、前提

如果没有安装Qt的可以参照Linux版Qt5.12.0安装教程,ubuntu16.04

1、安装依赖

先安装这些,下载慢或者下载失败可以试试换镜像或者连

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

如果报错信息中最后一行有“–fix-missing”那就加上
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev --fix-missing

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2、克隆opencv库

源项目地址:
https://github.com/opencv/opencv
Github 镜像仓库 :
https://gitcode.net/opencv/opencv?utm_source=csdn_github_accelerator

下面使用git指令克隆镜像仓库
我是在/home/steve/文件夹下运行的

git clone https://gitcode.net/opencv/opencv.git

二、执行cmake

克隆完成后进入opencv文件夹,新建build文件夹,进入build文件夹执行cmake

cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

注意cmake 后面有两个"."
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第1张图片

三、make&&make install和配置

sudo make

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第2张图片
sudo make install
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第3张图片
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第4张图片配置opencv

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

四、新建QT工程

1、新建

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第5张图片
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第6张图片
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第7张图片

2、qt中项目文件的配置

在.pro文件中加入以下代码

INCLUDEPATH += /usr/local/include \
               /usr/local/include/opencv \
               /usr/local/include/opencv4
 
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

LIBS对应的/user/local/lib文件夹,可以去看看,如果你的项目用到了摄像头,就需要再加一行/usr/local/lib/libopencv_videoio.so
如果你的项目用到了深度神经网络,就需要再加一行/usr/local/lib/libopencv_dnn.so;

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第8张图片

3、在main.cpp中修改代码

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第9张图片
下面是不包括默认窗口的代码

#include 
#include 
#include 
using namespace cv;
 
int main()
{
    Mat img = imread("/home/steve/qtproject/test/pika.jpg");
    imshow("pika", img);
    waitKey(0);
    return 0;
}

imread中的图片路径。如果要用相对路径pika.png,就需要把图片复制到下面Debug文件夹中。上面的代码使用绝对路径。
ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第10张图片

1可以复制上面的代码,覆盖掉main.cpp
2也可以只复制红框中的代码加进去,这样运行会出现两个窗口,一个是主窗口,另一个是opencv 的imshow打开的窗口

如果你的项目有多个cpp文件会用到这几个#include 和namespace,你可以把第一个红框的代码复制到Headers 里面的头文件hpp中,就不用重复引用了。

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第11张图片

3、点击左下方的绿色按钮运行

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第12张图片

对主窗口MainWindow的界面设计方法大概有两种
一种是 点击Forms中的 ui文件,进入相应的设计界面,拖拽组件,设置样式、槽函数。
另一种是在mainwindow.cpp中使用代码添加组件

讲一下第二种比如
新建一个label,需要#include
Qlabel的使用方法按住F1即可查看帮助文档,所有函数都在帮助文档里有

 	setWindowTitle("QT5.12+OpenCV4+TestOpenImg");
    Mat src = imread("/home/steve/qtproject/test/pika.jpg");
    Mat img;
    cvtColor(src, img, COLOR_BGR2RGB);
    QLabel *label=new QLabel(this);
    label->setPixmap(QPixmap::fromImage(QImage(img.data, img.cols, img.rows, img.step, QImage::Format_RGB888)));
    label->adjustSize();

ubuntu16.04、Qt5.12.0进行opencv4配置,运行简单的代码测试_第13张图片

你可能感兴趣的:(Linux,软件,qt,opencv,linux)