资源简介
基于MATLAB的图像自适应阈值分割代码
![](http://www.nz998.com/pic/32234.jpg)
代码片段和文件信息
clear all;
g=imread(‘Test_Img_1.jpg‘);
%g=rgb2gray(I);
thresh(g99130150);
figure(2) %绘制直方图
[cnts x] = imhist(g 256);
[m n] = size(g);
prob = cnts / m / n;
% sum(prob) == 1
subplot(121);
plot(x prob); title(‘直方图‘);
y = medfilt1(prob6);
subplot(122);
plot(xy);title(‘中值滤波‘);
b=0;
KK=[ ];
T=0;
temp=100;
for k=2:250
Kt=0;
u0=0;
ub=0;
sigma0=0;
sigmab=0;
ind1=find(g ind2=find(g>=k);
% prob0 =zeros(k1);
for i=1:k
prob0(i)=size(find(g==i))/size(ind1);
end
for i=1:k
u0=u0+i*prob0(i);
end
for i=1:k
sigma0=sigma0+prob0(i)*(i-u0)^2;
end
% u0=sum(g(ind1)*prob(g(ind1)));
for i=k+1:256
probb(i)=size(find(g==i))/size(ind2);
end
for i=k+1:256
ub=ub+i*probb(i);
end
for i=k+1:256
sigmab=sigmab+probb(i)*(i-ub)^2;
end
gx=1:1:256;
p0=sum(prob(1:k));
pb=1-p0;
fog0=p0*(exp(-(((gx-u0)/sigma0).^2)/2))/sqrt((2*pi))/sigma0;
fogb=pb*(exp(-(((gx-ub)/sigmab).^2)/2))/sqrt((2*pi))/sigmab;
fog=fog0+fogb;
figure(3)
plot(gxfog); title(‘f(g)变化曲线‘);
pg=p0*fog0+pb*fogb;
pg=pg‘;
u=unique(g);
u=double(u);
usize=size(u);
for i=2:usize
if prob(u(i))~=0
Kt=Kt+prob(u(i))*log(prob(u(i))/pg(u(i)));
end
end
KK=[KK Kt];
if(Kt temp=Kt;
T=k;
end
end
figure(4)
plot(KK); title(‘Kt变化曲线‘); %绘制Kt变化曲线
axis([0 256 0 4]);
ind3=find(g>=T);
g(ind3)=255;
ind4=find(g g(ind4)=0;
figure(5)
imshow(g);title(‘最优阈值分割结果‘);
disp(‘>>输出Kt最小值‘);
T
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1688 2016-11-29 09:22 segmentation.m
文件 475 2016-11-29 08:50 thresh.m
- 上一篇:捷联惯性导航的轨迹生成
- 下一篇:均值滤波 中值滤波
相关资源
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
- 神经网络分类matlab程序
- matlab正弦信号发生器的设计
- matlab程序用Hopfield网络解决TSP
- 实例matlab 编程100个常用程序
- 用MATLAB(BPSK仿真 直接扩频)
评论
共有 条评论