我有一个原始文件,其中包含 5 个字节的标头,其中包含每个前两位的行数和列数。第 5 个字节包含图像中每个像素的位数,在所有情况下都是 8 位。之后是图像数据。
由于我是openCV的新手,我想问一下如何使用C++将这个RAW图像文件作为灰度图像查看?
我知道如何在 C++ 中读取二进制数据并将图像存储为二维无符号字符数组(因为每个像素都是 8 位)。
谁能告诉我如何使用 openCV 将这些数据作为图像查看?
我正在使用下面的代码,但得到一个完全奇怪的图像:
void openRaw() {
cv::Mat img(numRows, numCols,CV_8U,&(image[0][0]));
//img.t();
cv::imshow("img",img);
cv::waitKey();
}
任何帮助将不胜感激。
谢谢,罗希特