1

1 チャンネルの画像があり、それを 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 でさえスクランブルされます!

白黒画像の場合に適した QImage 形式は何ですか?

4

1 に答える 1

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);
于 2013-05-13T12:29:28.713 に答える