最大熵图像分割matlab,两个matlab实现最大熵法图像分割程序

news/2024/7/8 3:07:21 标签: 最大熵图像分割matlab

%两个程序,亲测可用

clear all

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


http://www.niftyadmin.cn/n/1639681.html

相关文章

Mysql8在Centos7.2上面安装

1,cd /usr/local/software 这个目录下面 2,wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm 下载mysql8.0的rpm 3,先安装 yum install -y mysql80-community-release-el7-1.noarch.rpm&#xff…

python php class 类,PHP如何自定义类Class的示例代码(OOP面向对象教程)

PHP如何自定义类Class的示例代码(OOP面向对象教程)分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/9/16那怎么开始设计一个合格的类呢,一开始就写class{}的都错了,正确的是什么都不写,而是…

centos7.2安装nginx

1,先执行 yum -y install gcc gcc-c autoconf pcre pcre-devel make automake 2,vim /etc/yum.repos.d/nginx.repo 在下面添加 [nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgcheck0 enabled1 3&#xff0…

php关于钱这类怎么处理,PHP-MYSQL怎么实现买东西扣钱流程(细节问题一大堆)?...

假设用户花费金钱余额兑换1个‘糖’这种虚拟商品,金钱余额和用户拥有‘糖’的个数分别记录在不同的表上,那么我们要做的是,扣除用户金钱的同时,在用户的虚拟物品表中‘糖’的数量1。假设任何用户糖数上限为99先说下目前小弟的思路…

UDT协议详解

基于UDP的数据传输协议(UDP-based Data Transfer Protocol,简称UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。 顾名思义&#x…

php里的stdclass,PHP中的stdClass是什么?

stdClass是另一个很好的PHP特性。您可以创建一个匿名PHP类。让我们检查一个例子。$pagenew stdClass();$page->nameHome;$page->status1;现在&#xff0c;假设您有另一个类&#xff0c;它将使用页面对象初始化并在其基础上执行。<?phpclass PageShow {public $curre…

vue学习(二) 做一个简单的toDoList

一&#xff0c;最直接的代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>To do List</title><script src"vue.js"></script> </head> <body><div id&…

kubernetes1.11.0安装

安装包地址&#xff1a;www.sealyun.com/pro/products/1. master上&#xff1a; cd shell && sh init.sh && sh master.sh2. node上&#xff1a;cd shell && sh init.sh3. 在node上执行master输出的join命令即可 (命令忘记了可以用这个查看&#xff0c…