使用GDI+显示OpenCV中的图像IplImage
OpenCV虽然自带了轻量级的界面库HighGUI,但是支持的图像化元素实在是太少了,一般只在前期算法测试时使用。实际产品还是使用MFC库。因此本文记录了如何在GDI+中显示OpenCV中的IplImage格式的图像数据。
假设创建的MFC MDI应用程序名为GdiplusTest。关于如何在MFC中使用GDI+图形化系统已经在《GDI+ 使用指南》一文中介绍了。
显示OpenCV中的IplImage图像格式具体步骤如下:
- 在GdiplusTestView.cpp中添加OpenCV的头文件
#include <cv.h>
#include <highgui.h> - 在CGdiplusTestView::OnDraw(CDC* pDC)函数中添加如下代码:
//载入图像
IplImage* srcImage = cvLoadImage("lena.jpg");
//创建Bitmap对象
Gdiplus::Bitmap bitmap(srcImage->width, srcImage->height, srcImage->widthStep,
PixelFormat24bppRGB, (BYTE*)srcImage->imageData);
Gdiplus::Graphics graphics(pDC->GetSafeHdc());
graphics.DrawImage(&bitmap, 0, 0);
关于Gdiplus::Bitmap类的细节内容,请参考MSDN
运行结果截图: