Monday, October 10, 2005

OpenCV image to display

// add typedef2.h, display.h, display.cpp

#include "C:\Data\E\library\typedef2.h"

#include "C:\Data\E\library\display.h"


IplImage *opencvimage = cvLoadImage("cb.bmp",1);

BMPPIXEL *bmpimage;

CvSize cvimg;

cvimg = cvGetSize(opencvimage);

bmpimage = new BMPPIXEL[cvimg.height * cvimg.width];

OpenCV2BMPPIXEL(bmpimage, opencvimage);

bmp2display(&dc,bmpimage,cvimg.width,cvimg.height,0,

0,0,0,cvimg.height,cvimg.width);


// remember 'delete' bmpimage


void OpenCV2BMPPIXEL(BMPPIXEL *bmpimage, IplImage* opencvimage)

{

CvSize cvimg;

cvimg = cvGetSize(opencvimage);

for (int y=0; y< cvimg.height; y++)

{

for (int x=0; x< cvimg.width; x++)

{

bmpimage[y*cvimg.width + x].b = ((uchar*)(opencvimage->imageData + opencvimage->widthStep*y))[x*3];

bmpimage[y*cvimg.width + x].g = ((uchar*)(opencvimage->imageData + opencvimage->widthStep*y))[x*3+1];

bmpimage[y*cvimg.width + x].r = ((uchar*)(opencvimage->imageData + opencvimage->widthStep*y))[x*3+2];

}

}

}

No comments:

Post a Comment