我在 MATLAB 中读取 8 位两次抽头交错的 RGB 原始文件时遇到问题
我在网上关注了几个答案,但我找不到我的确切形式。
有没有人可以帮助解决这个问题?
下列的
我写了如下几行。
imraw = fread(fin, row*col*3, '*uint8');
imraw = reshape(imraw,[col,row,3]);
imfinal = flip(imrotate(imraw, -90),2); % // The clever transpose
fclose(fin);
imshow(imfinal,[])
此图像是真实图像一部分的放大图像(我猜大约是真实图像的 1/8)。
T 认为第 2-3 行有问题(重塑、翻转)。
我的原始文件可以在这里下载
https://drive.google.com/drive/folders/1AWMpX3Rfm193M0xMkLJOZI0tPxjpsHsV?usp=sharing
jpg 中的示例图像是,
谢谢!!
我解决了这个问题!我认为,“两次抽头交错”并不重要。
我如何解决这个问题
- 我调查了原始文件的整个大小,发现它是 2048 X 2048 X 4。
- 零出现在每 4 个位置。(例如,10、200、100、0、50、5、70、0 ...)
- 我想我的图像结构是 2048 2048(3 RGB +1 垃圾)
- 所以我从每个第一个位置得到数字并得到一个图像
所以现在,我认为我唯一需要做的就是翻转。哈哈,我希望这篇文章能帮助其他有同样问题的人。