【问题标题】:How to average a set of images and save the averaged image as the averaged image using MATLAB如何使用MATLAB对一组图像进行平均并将平均图像保存为平均图像
【发布时间】:2018-06-08 07:47:39
【问题描述】:

我有 5 张数字全息图,是我在不同时间使用 CCD 记录的。我想平均 5。

我可以通过 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

【问题讨论】:

标签: image matlab image-processing


【解决方案1】:

如果把图片转换成uint8,那就对了:

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

此外,当您将 1:10 相加时,平均值是错误的,而是将总和除以 5

【讨论】:

  • 我试过了,但它显示错误 Undefined function 'unit8' for input arguments of 'double' 类型。
  • @sanjeev 是的。你打错了uint8
  • 天啊!!谢谢你:)
猜你喜欢
  • 2016-10-31
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-18
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多