永发信息网

求matlab图像直方图阈值分割算法(包含预处理步骤)

答案:1  悬赏:0  手机版
解决时间 2021-04-10 16:40
求matlab图像直方图阈值分割算法(包含预处理步骤)
最好是完整的算法 越详细越好
最佳答案

在此提供两种方法,一,最大阈值分割(大律法):
I=imread('test.jpg');
subplot(1,3,1);imshow(I);title('原图');
I1=rgb2gray(I);
subplot(1,3,2);imhist(I1);title('直方图');
level=graythresh(I);
g=im2bw(I,level);%最佳阈值level
subplot(1,3,3);imshow(g);title('阈值分割');
%在Command窗口输出灰度阈值
disp(strcat('graythresh 计算灰度阈值:',num2str(uint8(level*255))))
第二种:迭代求阈值
I=imread('C:test.jpg');
Zmax=max(max(I));
Zmin=min(min(I));
TK=(Zmax+Zmin)/2;%初始阈值
flag=1;
[m,n]=size(I);
while(flag)
fg=0;
bg=0;
fgsum=0;
bgsum=0;
for i=1:m
for j=1:n
tmp=I(i,j);
if(tmp>=TK)
fg=fg+1;
fgsum=fgsum+double(tmp);
else
bg=bg+1;
bgsum=bgsum+double(tmp);
end
end
end
u1=fgsum/fg;
u2=bgsum/bg;
TKTmp=uint8((u1+u2)/2);
if(TKTmp==TK)
flag=0;
else
TK=TKTmp;
end
end
disp(strcat('迭代后的阈值:',num2str(TK)));
newI=im2bw(I,double(TK)/255);
subplot(1,2,1);imshow(I);title('原图')
subplot(1,2,2);imshow(newI);tltle('阈值分割图');


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《昨天》风弄 广播剧全期 还有主题曲!!!
用英语读用英语怎么说,请问”天气预报员播报
装修过程中实木地板要不要铺木龙骨?
下列方程中,;(2)3x-2y=0;(3)3x-7;;
我今年28岁我和我媳妇正在打离婚都在挣儿子由
微信怎么搜索
一件商品售价24元,利润是成本的百分之20,如
瘦人吃什么能长胖偏方大全,瘦人需要吃什么才
吉祥馄饨·面丰盛路店地址在什么地方,想过去
报考一建机电实务时工作单位怎么写
为什么8G的手机内存卡,手机上的软件没移动几
我家的“爱妻”牌高压锅 盖子打不开
小便结束时有一点点血出来是怎么了
做事要认真踏实的名言,关于激励员工认真踏实
用你喜欢的方法估一估:562÷7≈________89÷
推荐资讯
求末世生存的角色扮演或模拟经营的单机游戏
下列物质中不能电离出酸根离子的是()A.NaCl
廊坊广阳路在哪
Passage 6According to the Center of Diseas
海贼王山治名言十字,海贼王香吉士的左眼
山水画抒发诗词,赞美山水画的诗句
They are little children that you can’t
梅莱扣肉料多钱一包
女牛仔裤27码算大吗?
第二卷第四部分写作(共两节,满分40分)第一
最近从废品收购站淘的一个充电器,恳请那位知
400元钱利息2%复利30年后多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?