0
私はuchar *からmatオブジェクトを作成しようとしています。私は役に立つ変換を見つけることができませんでした。私のコードは以下の通りです。Opencv - 配列からMatを作成する
uchar* urgbImg; // this value is created another function
Mat img_argb(HEIGHT, WIDTH, CV_8UC4, urgbImg);
Mat img_rgb(HEIGHT, WIDTH, CV_8UC3);
img_argb.convertTo(img_rgb, CV_8UC3);
cv::imwrite("RGB.png", img_rgb);
QImage img1(urgbImg, WIDTH, HEIGHT, QImage::Format_ARGB32);
QImage img2 = img1.convertToFormat(QImage::Format_RGB32);
QFile file2(QString::fromStdString("QRGB.png"));
file2.open(QIODevice::WriteOnly);
img2.save(&file2,"PNG",100);
file2.close();
QRGBファイルは良好な結果ですが、RGBファイルではありません。私はuchar配列を持っているので、それは8ビットです。
私はCV_8UC3(CV_8UC4からの変換なし)、CV_32SC3およびCV_32SC4を試しました。すべての結果は悪いです。 uchar *からrgbイメージを作成する方法は?
を使用する必要がありますCV_8UC3
にCV_8UC4の画像を変換しませんか?あなたは 'RGB.png'を添付できますか? – Berriel