前言
为【机器视觉Qt+OpenCV从零开始 -001】Qt5.8下第一个带框架界面的Canny算法程序的升级
1、精简了Canny算法代码,几行搞定
2、加入了cv::mat转QImage的方法
一、开发环境
1、Windows 10 64位;
2、Qt 5.14.1 (MSVC 2017);
3、OpenCV 3.4.9
二、环境配置
参考【机器视觉Qt+OpenCV从零开始 -002】新版QT加上新版OpenCV的极简安装方式
三、编程开始
1、建立Qt项目
2、添加OpenCV依赖项
在pro文件中添加
INCLUDEPATH+=D:\OpenCV3.4.9\opencv\build\include
D:\OpenCV3.4.9\opencv\build\include\opencv
D:\OpenCV3.4.9\opencv\build\include\opencv2
LIBS+=D:\OpenCV3.4.9\opencv\build\x64\vc15\lib\opencv_world349d.lib
3、开始编程
框架没变
右下角是两个按钮,上面两个框是两个Label,用来显示图片。需要实现的功能是,首先点击左边的按钮,读取原图,显示在左边的框,然后点击右边的按钮,将经过canny边缘提取的图片显示在右边的框。
我的项目下的文件列表如下:
首先编写头文件mainwindow.h,将一些include可以写进去,然后申明两个按钮的点击函数:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <stdio.h>
#include <iostream>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();