【图像分割】最小交叉熵+最大熵+OTSU阈值分割【含Matlab源码 4654期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【图像分割】基于matlab最小交叉熵+最大熵+OTSU阈值分割【含Matlab源码 4654期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab图像处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab图像处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab图像处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、最小交叉熵+最大熵+OTSU阈值分割

最小交叉熵(Minimum Cross-Entropy, MCE)是一种用于训练分类模型的方法,它在机器学习中的决策边界优化上被广泛应用。交叉熵是一种衡量两个概率分布差异的度量,当我们使用它作为损失函数时,模型的目标是最小化预测概率分布与真实标签之间的不确定性。在分类任务中,MCE有助于模型收敛到最佳预测分布。

最大熵(Maximum Entropy, ME)原理是信息论中的一个概念,它主张在给定约束条件下,选择最不确定的模型。在统计决策和机器学习中,最大熵模型会选择一个最保守的概率分布,即概率分布对未知信息的假设最少,从而提高了模型的稳健性和泛化能力。

OTSU(Otsu’s Method)阈值分割是一种二值图像处理技术,它是一种无参数的阈值选取方法。它的基本思想是寻找图像中能最大化类间方差(对象与背景之间的差异)的阈值,使得两个类别的像素能够清晰地分离。这种方法不需要预先知道数据的分布,适用于灰度图像的自动化阈值分割。

⛄三、部分源代码

I=imread(‘lena.jpg’); %读入图像
gray=rgb2gray(I);
h=imhist(gray); %画出灰度直方图
h1=h;
len=length(h); %求出所有的可能灰度
[m,n]=size(gray); %求出图像的大小
h1=(h1+eps)/(m*n);

%------------------------最小交叉熵--------------------------

for i=1:(len-1)
P1(i)=sum(h(1:i))/(mn);
P2(i)=sum(h((i+1):len))/(m
n);
Q1(i)=sum((1:i)h(1:i))/(mn);
Q2(i)=sum((i+1:len)h((i+1):len))/(mn);
u1(i)=Q1(i)(1/P1(i));
u2(i)=Q2(i)
(1/P2(i));
W(i)=sum((1:len)*h1(1:len)*log10(1:len))-Q1(i)log10(u1(i))-Q2(i)log10(u2(i));
end
m1=min(W);
n1=find(W==m1);
%-----------------------------最大熵-----------------------
for i=1:(len-1)
P11(i)=sum(h(1:i))/(m
n);
P22(i)=sum(h((i+1):len))/(m
n);
H1(i)=-(sum(h1(1:i).*log10(h1(1:i))));
H2(i)=-(sum(h1((i+1):len).*log10(h1((i+1):len))));
H(i)=(1/P11(i))H1(i)+H2(i)(1/P22(i))+log10(P11(i)P22(i));
end
m2=max(H);
n2=find(H==m2);
%-----------------------------otsu---------------------
[v,r]=size(I);
k=zeros(1,len);
for i=1:len
if h(i)~=0
k(i)=h(i)/(v
r);
else
continue;
end
end

⛄四、运行结果

在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]杨章静,钱建军,黄璞,张凡龙,杨国为.基于Gabor变换的GrabCut纹理图像分割[J].控制与决策. 2016,31(01)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值