Image 在MATLAB中读取RAW16图像

Image 在MATLAB中读取RAW16图像,image,matlab,binaryfiles,Image,Matlab,Binaryfiles,我正在努力阅读MATLAB中的a。在阅读了另一篇之后,我想我可以像阅读文件一样阅读它,然后做一些简单的矩阵变换。然而,我遇到了一个奇怪的问题。下面的图片就是我得到的。我不理解为什么会存在这种重叠,也不完全确定如何解决这个问题。有人能帮忙吗 代码: fin = fopen('raw13.raw','r'); ima = fread(fin, [col*2 row],'uint8'); temp = zeros(col,row); j=1; for i=1:2:col*2-1 temp(j,:) =

我正在努力阅读MATLAB中的a。在阅读了另一篇之后,我想我可以像阅读文件一样阅读它,然后做一些简单的矩阵变换。然而,我遇到了一个奇怪的问题。下面的图片就是我得到的。我不理解为什么会存在这种重叠,也不完全确定如何解决这个问题。有人能帮忙吗

代码:

fin = fopen('raw13.raw','r');
ima = fread(fin, [col*2 row],'uint8');
temp = zeros(col,row);
j=1;
for i=1:2:col*2-1
temp(j,:) = ima(i,:) + ima(i+1,:)*2^8; %The first element is the lower 8bits and the second element is the higher 8bits
j = j+1;
end
imshow(temp',[0 2^16-1])

以防有人和我有同样的问题


我获得的.RAW文件似乎不知何故已损坏。使用较低版本的FlyCapture程序生成了更好的原始文件,我使用的代码工作起来很有魅力

我在第3行和第5行使用col*3,然后它可以很好地显示图像。
但我使用的是8位原始图像形式的pointgray相机,我不知道“imshow(temp)”,[0 2^16-1])会起作用……

预期大小是多少,即列和行?列=1384,行=1036。我选择col*2,因为当我从缓冲区读取MONO16信息时,它是两个字节,即stride=col*2