我有一个使用 OpenCV 的 Qt 项目,并尝试将它移动到我的带有视网膜显示的 macbook。除 QPixmap 外,一切正常。当我尝试在 QLable 中显示图像时,它分为红色、绿色和蓝色的 3 部分。
在 Windows 上一切正常。
但是在我的 Macbook...
这是我将 IplImage* 转换为 QImage 的方法:
QImage CamStream::ToQImage(IplImage* image)
{
int height = image->height;
int width = image->width;
const uchar *qImageBuffer =(const uchar*)image->imageData;
QImage img(qImageBuffer, width, height, QImage::Format_RGB888);
return img.rgbSwapped();
}
这是我显示图像的方式:
void Main_window::ShowImage(QImage qimg)
{
QPixmap pxmap ( QPixmap::fromImage(qimg));
ui->lbl_video->setPixmap(pxmap);
ui_2->lbl_video->setPixmap(pxmap);
}