我有一个频道图片,想要在QImage中显示
IplImage *img=cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
知道从IplImage *转换为QImage时,我做了以下内容:
uchar* img_d=(uchar*) img->imageData;
QImage img_direction((uchar*)img_d, img->width, img->height, QImage::Format_Mono);
我不太确定我设置的Mono格式,即使显示的QImage也会被打乱!
对于B& W图像的情况,合适的QImage格式是什么?
答案 0 :(得分:2)
Qt的Mono格式是每像素1位。
唯一的8位格式为QImage::Format_Indexed8
,因此您需要创建一个包含256个灰色的颜色表并将其传递给QImage::setColorTable。
表格可以这样填写:
QVector<QRgb> colorTable;
for(int i=0; i<256; ++i)
colorTable << qRgb(i,i,i);