2017-12-27 978 views
0

我有5个数字全息图,我使用CCD在不同的时间记录。我想平均为5.如何平均一组图像并使用MATLAB将平均图像保存为平均图像

我能够通过以下代码在MATLAB中做到这一点,除了我无法保存该文件,因为我在MATLAB中看到。相反,保存后我会得到一张白色图像。

I0 = imread('snap1.bmp'); 
sumImage = double(I0); % Inialize to first image. 
for i=2:10 % Read in remaining images. 
    rgbImage = imread(['snap',num2str(i),'.bmp']); 
    sumImage = sumImage + double(rgbImage); 
end; 
meanImage = sumImage/5; 

figure 
imshow(meanImage,[]) 
imwrite(double(meanImage),'snap10.bmp') 

o=imread('snap10.bmp'); 
figure 
imagesc((o)) 

images can be found at

+0

https://www.jumbomail.me/he/Downloads.aspx?sid=56576F6875567969785676464B3342347436653838673D3D – sanjeev

回答

1

如果转换图像到uint8,这将是正确的:

imwrite(uint8(meanImage),'snap10.bmp'); % instead of double 

而且,你总结1:10平均是错误的,而是由5分总和。

+0

我试过,但它显示类型的输入参数 “双重”错误 未定义功能“unit8”。 – sanjeev

+0

@sanjeev是的。你错误地输入了'uint8'。 – OmG

+0

Omg !!谢谢 :) – sanjeev