在MATLAB中读取RAW16图像

时间:2015-01-15 00:11:00

标签: image matlab binaryfiles

我正在尝试在MATLAB中阅读RAW16 image。经过另一个question here on StackOverflow后,我想我可以读取它,就像读取文件然后做一些简单的矩阵转置。但是,我遇到了一个奇怪的问题。下面的图片是我得到的Weird overlap。我不明白为什么这种重叠存在,并不完全确定如何解决这个问题。有人可以帮忙吗?

代码:

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])

2 个答案:

答案 0 :(得分:0)

如果有人遇到与我相同的问题。

我获得的.RAW文件似乎有点被破坏了。使用较低版本的FlyCapture程序产生了更好的RAW文件,我使用的代码就像魅力一样

答案 1 :(得分:0)

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