| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:图形分割代码
只看楼主 加入收藏
poineer
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-17
收藏
 问题点数:0 回复次数:1 
图形分割代码
下面有这样一段代码,但是我不知道问题出在什么地方了,请那位大虾指点一下,到底应该修改什么地方才能得到分割后的图象

i2=imread('5.BMP');
subplot(221);imshow(i2);title('origina');
count=imhist(i2);%直方图
[r,t]=size(i2);
n=r*t;
l=256;
count=count/n;%各级灰度出现的概率
for i=2:l
if count(i)~=0
st=i-1;
break
end
end
%以上循环语句实现寻找出现概率不为0的最小灰度值
for i=l:-1:1
if count(i)~=0;
nd=i-1;
break
end
end
%实现找出出现概率不为0的最大灰度值
f=count(st+1:nd+1);
p=st;q=nd-st;%p和q分别是灰度的起始和结束值
u=0;
for i=1:q;
u=u+f(i)*(p+i-1);
ua(i)=u;
end
%计算图像的平均灰度值
for i=1:q;
w(i)=sum(f(1:i));
end
%计算出选择不同k的时候,A区域的概率
d=(u*w-ua).^2./(w.*(1-w));%求出不同k值时类间方差
[y,tp]=max(d);%求出最大方差对应的灰度级
th=tp+p;
if (th&tp~=105)
th=tp+p;
else
th=105; %根据具体情况适当修正门限
end
y1=zeros(r,t); %零矩阵
for i=1:r
for j=1:t
x1(i,j)=double(i2(i,j));
end
end
for i=1:r
for j=1:t
if (x1(i,j)&tp~=th)
y1(i,j)=x1(i,j);
else
y1(i,j)=0;
end
end
end
%上面一段代码实现分割
y1=uint8(y1);
figure;
imshow(y1)
title('灰度门限分割的图像');

搜索更多相关主题的帖子: 图形 代码 
2007-05-30 20:37
poineer
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-17
收藏
得分:0 
有那位知道的请给我说明一下
2007-05-30 20:40
快速回复:图形分割代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031592 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved