我是靠谱客的博主 端庄星月,最近开发中收集的这篇文章主要介绍最大熵法 matlab,matlab实现最大熵法图像分割程序源代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

a=imread('moon.tif');

figure,imshow(a)

count=imhist(a);

[m,n]=size(a);

N=m*n;

L=256;

count=count/N;%%每一个像素的分布概率

count

for i=1:L

if count(i)~=0

st=i-1;

break;

end

end

st

for i=L:-1:1

if count(i)~=0

nd=i-1;

break;

end

end

nd

f=count(st+1:nd+1); %f是每个灰度出现的概率

size(f)

E=[];

for Th=st:nd-1 %%%设定初始分割阈值为Th

av1=0;

av2=0;

Pth=sum(count(1:Th+1));

%%%第一类的平均相对熵为

for i=0:Th

av1=av1-count(i+1)/Pth*log(count(i+1)/Pth+0.00001);

end

%%%第二类的平均相对熵为

for i=Th+1:L-1

av2=av2-count(i+1)/(1-Pth)*log(count(i+1)/(1-Pth)+0.00001); end

E(Th-st+1)=av1+av2;

end

position=find(E==(max(E)));

th=st+position-1

最后

以上就是端庄星月为你收集整理的最大熵法 matlab,matlab实现最大熵法图像分割程序源代码的全部内容,希望文章能够帮你解决最大熵法 matlab,matlab实现最大熵法图像分割程序源代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部