我用的是Qt5.6.0+opencv3.2,套件是MinGW,关于在Qt中如何配置的问题,可以参考这篇文章,
http://blog.csdn.net/gufeiyunshi/article/details/50967440
打开图像做个二值化处理,以证明配置没有问题。
在ui界面放一个label和一个pushButton,比较喜欢使用Qt做界面开发,它融合了C#和C++两种语言的好处。
在mainwindow.h写一个槽函数,作为接受点,处理我们发出的指令。
private slots:
void on_pushButton_clicked();
在mainwindow.cpp输入一下程序:
如果我们使用opencv的方法读取图像或者视频到label中,需要对图像做一个转换,QImage类型的图像才可以在ui中显示。
QImage img;
img=QImage((const unsigned char*)dstImage.data,dstImage.cols,dstImage.rows,QImage::Format_Grayscale8);
ui->label->setPixmap(QPixmap::fromImage(img));
注意新建的img是不是指针类型,显示的是不是指针类型。然后再使用到的就是纯粹opencv的知识了。
mainwindow.cpp主程序:
#include "openimage.h"
#include "ui_openimage.h"
#include <QString>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <QFileDialog>
#include <QMessageBox>
using namespace cv;