您的位置:首页 > 编程语言 > Qt开发

OpenCV与Qt 中图像格式的转换

2011-03-28 20:54 519 查看

这是一个利用OpenCV读取一张图片然后用Qt生成窗口display出来。做的主要是IplImage到QImage的转换。大部分参考了这个人的博客(http://leohart.net/site/comments/convert_opencv_iplimage_to_qt_qimage/

基本用法就是:

1)声明这个类,传入图片路径到构造函数中;

2)用getQImage函数获得QImage,然后就可以用到Qt的东西中。

#include<QtCore>
#include<QtGui>

#include"cv.h"
#include"highgui.h"

classQCvImage{

private:
IplImage* cvBGRImg;
IplImage* cvRGBImg;

public:
QCvImage()
{

}

QCvImage(char* imgPath)
{
cvBGRImg = cvLoadImage(imgPath, true);
cvRGBImg = NULL;
}

QImage* getQImage(void)
{
if(cvBGRImg == NULL)
returnNULL;

cvRGBImg = cvCloneImage(cvBGRImg);
cvCvtColor(cvBGRImg, cvRGBImg, CV_BGR2RGB);

uchar* imgData = (uchar*)(cvRGBImg->imageData);
QImage* qimg = newQImage(imgData, cvRGBImg->width, cvRGBImg->height, QImage::Format_RGB888);

returnqimg;
}

~QCvImage()
{
cvReleaseImage(&cvBGRImg);
cvReleaseImage(&cvRGBImg);
}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: