2017-12-27 605 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