行数と列数をそれぞれ最初の 2 ビットに含む 5 バイトのヘッダーを含む raw ファイルがあります。5 番目のバイトには、画像内の各ピクセルのビット数が含まれており、すべての場合で 8 ビットです。その後に画像データが続きます。
私はopenCVを初めて使用するので、C++を使用してこのRAW画像ファイルをグレースケール画像として表示する方法を尋ねたいですか?
私は C++ でバイナリ データを読み取る方法を知っており、画像を 2 次元の unsigned char 配列として保存しました (各ピクセルは 8 ビットであるため)。
openCV を使用してこのデータを画像として表示する方法を教えてください。
私は以下のコードを使用していますが、完全に奇妙な画像を取得しています:
void openRaw() {
cv::Mat img(numRows, numCols,CV_8U,&(image[0][0]));
//img.t();
cv::imshow("img",img);
cv::waitKey();
}
どんな助けでも大歓迎です。
ありがとう、ロヒット