求matlab如何对多帧图像同一像素点取中值

现有100帧640*320的灰度图像1.bmp~100.bmp,怎么才能用matlab对这100帧图像的每一个像素点的值取中值,并且显示这张中值图像?希望高手帮我一下。... 现有100帧640*320的灰度图像1.bmp~100.bmp,怎么才能用matlab对这100帧图像的每一个像素点的值取中值,并且显示这张中值图像?希望高手帮我一下。 展开
 我来答
tattackor
2015-08-28 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:898万
展开全部
1、算法:
一个循环语句,分别读取每帧图像。对于每帧图像,用一个矩阵变量储存每一个像素的值,累加起来,最后除以帧数,得到中值。
2、例程:
clear all;
s=[];
for k=1:100
filename=[num2str(k), '.bmp']; % 图像文件要放在当前目录下,否则前面要加路径
b=imread(filename, 'bmp');
s=[s, double(b(:))]; % 图像分辨率必须一致,要不然会出错。
end
siz=size(b);
s=s';

% 显示最后一幅图像
subplot(2,2,1);
imshow(b)
title('原图像之一')

% 求均值图像
bm=sum(s)/100; % 求100幅图的均值
bm=reshape(bm,siz);
bm=uint8(bm);
subplot(2,2,2);
imshow(bm); % 显示均值图像
title('均值图像')

% 求中值图像
bm=median(s); % 求100幅图像的中间值
bm=reshape(bm,siz);
bm=uint8(bm);
subplot(2,2,3);
imshow(bm) % 显示中值图像
title('中值图像');

% 最大亮度图
n=hist(s,0:255); % 求灰度分布
[maxn, ind]=max(n); % 频数最高的灰度值,maxn为该灰度值出现的次数,ind为该灰度值在0:255中的下标
bm=reshape(ind-1,siz);
bm=uint8(bm);
subplot(2,2,4);
imshow(bm)
title('最高频数图像')
csg974
2009-06-14 · TA获得超过5020个赞
知道小有建树答主
回答量:915
采纳率:0%
帮助的人:1273万
展开全部
clear all;
s=[];
for k=1:100
filename=[num2str(k), '.bmp']; % 图像文件要放在当前目录下,否则前面要加路径
b=imread(filename, 'bmp');
s=[s, double(b(:))]; % 图像分辨率必须一致,要不然会出错。
end
siz=size(b);
s=s';

% 显示最后一幅图像
subplot(2,2,1);
imshow(b)
title('原图像之一')

% 求均值图像
bm=sum(s)/100; % 求100幅图的均值
bm=reshape(bm,siz);
bm=uint8(bm);
subplot(2,2,2);
imshow(bm); % 显示均值图像
title('均值图像')

% 求中值图像
bm=median(s); % 求100幅图像的中间值
bm=reshape(bm,siz);
bm=uint8(bm);
subplot(2,2,3);
imshow(bm) % 显示中值图像
title('中值图像');

% 最大亮度图
n=hist(s,0:255); % 求灰度分布
[maxn, ind]=max(n); % 频数最高的灰度值,maxn为该灰度值出现的次数,ind为该灰度值在0:255中的下标
bm=reshape(ind-1,siz);
bm=uint8(bm);
subplot(2,2,4);
imshow(bm)
title('最高频数图像')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式