matlab中,有幅灰度图像,对所有元素灰度值求个平均值

matlab中,有幅灰度图像,对所有元素灰度值求个平均值,然后将每个元素灰度值与平均值比较,大于平均值的显示一幅图像,小于平均值的显示另一幅图像,请问具体代码怎么写?

clc
clear all
I=imread('E:\图像处理\DIP\dip9\CT.jpg');
[M,N]=size(I);
figure(1);imshow(I);title('原始图像');
y=mean(x,1);
yz1=(y(1)+y(2))/2 ; %求均值,单阈值分割
I1=I;
for i=1:M
for j=1:N
if I1(i,j)<yz1
I2(i,j)=I1(i,j);
else
I3(i,j)=I1(i,j);
end
end
end
figure(2);imshow(I2,[]);title('小于均值的图像');
figure(3);imshow(I3,[]);title('大于均值的图像');追问

y=mean(x,1);
yz1=(y(1)+y(2))/2 ; %求均值,单阈值分割

x是不是I?
y(1)、y(2)什么意思?

追答

是的,应该是y=mean(I,1);
不应该有y(1)、y(2)
应该是: yz1=mean(y,2) ;%求均值,单阈值分割

正确代码:
y=mean(I,1);
yz1=mean(y,2) ;%求均值,单阈值分割

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-06
二楼的计算有问题吧,不该用sum,应该用个mean就可以了。其它的如2楼所述。至于mean的格式为mean(I,1)还是mean(I,2),看你的具体存储格式了。
相似回答