IplImage与QImage之间相互转换的问题
2013-10-14 14:14
288 查看
做Qt这么久了,一直想把IplImage与QImage之间相互转换的问题贴出来,一直没有时间,今天抽空把代码贴出来,思路很简单,只需要把数据根据两种不同格式进行复制就行了。
IplImage转QImage:
QImage转IplImage:
完了百度了一下,发现老早已经有人把完整的代码贴出来了(QImage转IplImage),第一种IplImage转QImage貌似更为简单,但代码有问题,编译无法通过,但是方法很好。
IplImage转QImage:
QImage* IplImageToQImage(const IplImage *pIplImage) { QImage *qImage; int w = pIplImage->width; int h = pIplImage->height; qImage = new QImage(w, h, QImage::Format_RGB32); int x, y; for(x = 0; x < pIplImage->width; ++x) { for(y = 0; y < pIplImage->height; ++y) { CvScalar color = cvGet2D(pIplImage, y, x); int r = color.val[2]; int g = color.val[1]; int b = color.val[0]; qImage->setPixel(x, y, qRgb(r,g,b)); } } return qImage; }
QImage转IplImage:
IplImage* QImageToIplImage(const QImage *qImage) { int width = qImage->width(); int height = qImage->height(); CvSize size;//(width,height); size.width = width; size.height = height; IplImage *iplImage = cvCreateImage(size, IPL_DEPTH_8U, 3); for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { QRgb rgb = qImage->pixel(x, y); cvSet2D(iplImage, y, x, CV_RGB(qRed(rgb), qGreen(rgb), qBlue(rgb))); } } return iplImage; }
完了百度了一下,发现老早已经有人把完整的代码贴出来了(QImage转IplImage),第一种IplImage转QImage貌似更为简单,但代码有问题,编译无法通过,但是方法很好。
相关文章推荐
- QImage 和 IplImage 之间转换问题 .
- QImage 和 IplImage 之间转换问题
- qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题
- qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题
- QImage 和 IplImage 之间转换问题
- QImage 和 IplImage 之间转换问题
- 关于Qt中的QImage与OpenCV中IplImage的相互转换
- qt下IplImage和QImage相互转换并显示
- c++ 中 char 与 string 之间的相互转换问题
- QImage 与 cv::Mat 之间的相互转换
- IplImage CBitmap HBITMAP BITMAP之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OPENCV中MAT与IPLIMAGE和CVMAT类型之间的相互转换
- QImage与cv::Mat之间的相互转换
- c++ 中 char 与 string 之间的相互转换问题
- QImage 与 cv::Mat 之间的相互转换
- 字节码问题--wchar和char的区别以及wchar和char之间的相互转换字符编码转换等方法及函数介绍
- 关于String、date、Timestamp之间的相互转换问题
- OpenCV之CvMat、Mat、IplImage之间相互转换实例(转)
- OpenCV 中的图像结构IPLImage 和 Qt中QImage之间的转换源代码【z】