【图像分割】基于最大类间法otsu实现图像分割附matlab代码
【图像分割】基于最大类间法otsu实现图像分割附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
在现代战争中,快速而有效的对攻击目标进行识别和跟踪对获取战争主 动权起着很重要的作用,而要达到这个目的,就需要从目标图像中准确的分割 出目标.在图像分割中,阈值的选取至关重要.最大类间方差法是一种常用而 有效的图像分割算法,并已在许多实时场合中采用.为满足高速场合的要求, 本文采用 Altera 公司的 Cyclone II 系列的 FPGA 实现类间方差的计算.实验结 果表明,本设计能够实时稳定的对目标分割提取,分割效果良好.
2 完整代码
clear
close
all
clc
I
=
imread(’rice.png’);
[m,n]
=
size(I);
N
=
m*n;
L
=
256;
for
i=1:L
count(i)
=
length(find(I==(i-1)));
f(i)
=
count(i)/(N); %每个灰度对应的概率,i=1,对应灰度值为0(i-1)
end
for
i=1:L
if
count(i)~=0
st
=
i-1; %开始的灰度值
break;
end
end
for
i=L:-1:1
if
count(i)~=0
nd
=
i-1; %结束的灰度值
break;
end
end
p
=
st; q=nd-st+1;
u
=
0;
for
i=1:q
u
=
u+f(p+i)*(p+i-1); %u是像素的平均值
ua(i)
=
u; %ua(i)是前i+p个像素的平均灰度值 (前p个无取值)
end;
for
i=1:q
w(i)
=
sum(f(1+p:i+p)); %w(i)是前i个像素的累加概率,对应公式中P0
end;
w
=
w+eps;
%对照sigmaB的公式写出目标函数。实际是遍历所有值
d
=
(w./(1-w)).*(ua./w-u).^2;
[y,tp]
=
max(d); %可以取出数组的最大值及取最大值的点
th
=
tp+p;
figure;imshow(im2bw(I,th/255),[]);
title(’最大类间方差’);
%%
matlab自带函数
figure;imshow(im2bw(I,graythresh(I)),[]);
title(’matlab自带’);
3 仿真结果
4 参考文献
[1]王暕来, 杨春玲. 基于最大类间方差法的图像分割系统的设计与实现.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
