IplImage *QImageToIplImage(const QImage * qImage)
{
CvSize Size;
Size.height = qImage->height();
Size.width = qImage->width();
IplImage *IplImageBuffer = cvCreateImage(Size, IPL_DEPTH_8U, 3);
char *charTemp = (char *)IplImageBuffer->imageData;
for (int y = 0; y < height; ++y)
{
for (int x = 0; x < width; ++x)
{
QRgb rgb = qImage->pixel(x, y);
CV_IMAGE_ELEM(IplImageBuffer, uchar, y, x * 3 + 0) = qBlue(rgb);
CV_IMAGE_ELEM(IplImageBuffer, uchar, y, x * 3 + 1) = qGreen(rgb);
CV_IMAGE_ELEM(IplImageBuffer, uchar, y, x * 3 + 2) = qRed(rgb);
}
}
return IplImageBuffer;
}