请教一下如何用matlab把已经做好区域标记的图像中每个区域的灰度平均值计算出?
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
>> a=randint(4,4,[1 2])%%标记图像矩阵
a =
2 2 2 2
1 2 1 2
2 1 2 1
1 1 2 1
>> b=rand(4,4)%%原图像矩阵
b =
0.9355 0.0579 0.1389 0.2722
0.9169 0.3529 0.2028 0.1988
0.4103 0.8132 0.1987 0.0153
0.8936 0.0099 0.6038 0.7468
>> n1=0;n2=0;sum1=0;sum2=0;%%初始化各个参数
>> for i=1:size(a,1)
for j=1:size(a,2)
if a(i,j)==1
sum1=sum1+b(i,j);%%累加第一个区域的各个像素值
n1=n1+1;
else
sum2=sum2+b(i,j);%%累加第二个区域的各个像素值
n2=n2+1;
end
end
end
>> mean1=sum1/n1%%第一个区域的像素平均值
mean1 =
0.5141
>> mean22=sum2/n2%%第二个区域的像素平均值
mean22 =
0.3521
a =
2 2 2 2
1 2 1 2
2 1 2 1
1 1 2 1
>> b=rand(4,4)%%原图像矩阵
b =
0.9355 0.0579 0.1389 0.2722
0.9169 0.3529 0.2028 0.1988
0.4103 0.8132 0.1987 0.0153
0.8936 0.0099 0.6038 0.7468
>> n1=0;n2=0;sum1=0;sum2=0;%%初始化各个参数
>> for i=1:size(a,1)
for j=1:size(a,2)
if a(i,j)==1
sum1=sum1+b(i,j);%%累加第一个区域的各个像素值
n1=n1+1;
else
sum2=sum2+b(i,j);%%累加第二个区域的各个像素值
n2=n2+1;
end
end
end
>> mean1=sum1/n1%%第一个区域的像素平均值
mean1 =
0.5141
>> mean22=sum2/n2%%第二个区域的像素平均值
mean22 =
0.3521
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询