Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- QImage IplImageToQImage(const IplImage *iplImage)
- {
- // Local variables
- int height = iplImage->height;
- int width = iplImage->width;
- // PIXEL DEPTH=8-bits unsigned, NO. OF CHANNELS=1
- if(iplImage->depth == IPL_DEPTH_8U && iplImage->nChannels == 1)
- {
- // Set the color table (used to translate colour indexes to qRgb values)
- QVector<QRgb> colorTable;
- for (int i=0; i<256; i++)
- colorTable.push_back(qRgb(i,i,i));
- // Copy input IplImage
- const uchar *qImageBuffer = (const uchar*)iplImage->imageData;
- // Create QImage with same dimensions as input IplImage
- QImage img(qImageBuffer, width, height, QImage::Format_Indexed8);
- img.setColorTable(colorTable);
- return img;
- }
- // PIXEL DEPTH=8-bits unsigned, NO. OF CHANNELS=3
- else if(iplImage->depth == IPL_DEPTH_8U && iplImage->nChannels == 3)
- {
- // Copy input IplImage
- const uchar *qImageBuffer = (const uchar*)iplImage->imageData;
- // Create QImage with same dimensions as input IplImage
- QImage img(qImageBuffer, width, height, QImage::Format_RGB888);
- return img.rgbSwapped();
- }
- else
- {
- qDebug() << "ERROR: IplImage could not be converted to QImage.";
- return QImage();
- }
- } // IplImageToQImage()
Advertisement
Add Comment
Please, Sign In to add comment