QT OpenCv 图像显示
2013-09-18 15:30
369 查看
myWidget.h
myWidget.cpp
main.cpp
#ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include <QLabel> #include <cv.h> #include <highgui.h> using namespace cv; class myWidget : public QWidget { Q_OBJECT public: myWidget(Mat& img,QWidget *parent = 0); ~myWidget(); private: Mat iplImg; QImage qImg; QLabel* resultImageLabel; }; #endif
myWidget.cpp
#include "myWidget.h" #include <QPainter> #include <QPoint> using namespace cv; myWidget::myWidget(Mat& img, QWidget *parent /* = 0 */) : QWidget(parent) { Mat rgb; setFixedSize(img.cols, img.rows); resultImageLabel = new QLabel(tr("result image")); if(img.channels() == 3) // RGB image { cvtColor(img, rgb, CV_BGR2RGB); qImg = QImage((const uchar*)(rgb.data), //(const unsigned char*) rgb.cols,rgb.rows, rgb.cols*rgb.channels(), //这里应该加上此句,否则对于有些图像不能正确显示。 QImage::Format_RGB888); resultImageLabel->setPixmap(QPixmap::fromImage(qImg.scaled(width(), height()), Qt::AutoColor)); } else // gray image { qImg = QImage((const uchar*)(img.data), img.cols,img.rows, img.cols*img.channels(), //这里应该加上此句,否则对于有些图像不能正确显示。 QImage::Format_Indexed8); resultImageLabel->setPixmap(QPixmap::fromImage(qImg.scaled(width(), height()), Qt::MonoOnly)); } resultImageLabel->show(); } myWidget::~myWidget() { }
main.cpp
#include "qt_tld.h" #include <QtGui/QApplication> #include "MainWindow.h" #include "myWidget.h" #include <cv.h> #include <highgui.h> int main(int argc, char *argv[]) { QApplication app(argc,argv); Mat img = imread("2.png", 1); if (!img.empty()) { myWidget *mw = new myWidget(img); //mw->show(); } int re = app.exec(); return re; }
相关文章推荐
- 【Qt】在Qt上显示OpenCV图像
- Qt中显示opencv的图像
- Qt中用QLabel显示OpenCV中Mat图像数据出现扭曲现象的解决
- [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget (第一部分)
- Ubuntu中Qt+opencv图像显示
- qt+opencv图像在控件上的显示 槽和信号的定义.
- Qt对话框显示opencv读取的图像
- [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget(第二部分)
- Qt与OpenCV结合:图像显示
- Qt+OpenCV 图像显示
- Qt中用OpenCV2.4读取并把图像显示在QLabel中 (Ubuntu12.04)
- QT opencv 读取显示图像
- 一个显示 OpenCV Mat 图像的自定义 Qt 控件
- qt学习笔记(3)Qt、opencv、vs2010本地读取图像、反转图像并显示
- opencv+Qt显示图像
- Qt的label显示OpenCV的Mat图像
- Qt中显示opencv的图像
- OpenCV图像MAT格式转换为QT中QImage并显示
- 使用Qt+OpenCV+VideoInput 显示摄像头图像