方法:http://blog.csdn.net/whw8007/article/details/18462417
(1)连接信号槽,并且添加响应函数;
(2)编写响应函数
声明 qt5test.h
- private:
- Ui::Qt5testClass ui;
- cv::Mat image; //定义私有变量 image
- cv::Mat result;//定义私有变量 result
- private slots: //声明信号函数
- void OpenImageClicked();
- void ProcessClicked();
a.//图像在QT显示前,必须转化成QImage格式,将RGBA格式转化成RGB
- void Qt5test::OpenImageClicked()
- {
- image = cv::imread("img.jpg");//读取图像
- cv::cvtColor(image, image, CV_RGB2RGBA);//图像在QT显示前,必须转化成QImage格式,将RGBA格式转化成RGB
- QImage img = QImage((const unsigned char*)(image.data),
- image.cols, image.rows, QImage::Format_RGB32);
- QLabel *label = new QLabel(this);
- label->move(130,50);
- label->setPixmap(QPixmap::fromImage(img));
- label->resize(label->pixmap()->size());
- label->show();
- }
- void Qt5test::ProcessClicked()
- {
- cv::flip(image,result,1);//对图像进行翻转
- QImage img = QImage((const unsigned char*)(result.data),
- result.cols, result.rows, QImage::Format_RGB32);
- QLabel *label = new QLabel(this);
- label->move(380,50);
- label->setPixmap(QPixmap::fromImage(img));
- label->resize(label->pixmap()->size());
- label->show();
- }