首页 > 行业资讯 > 【图像分割】基于最大类间法otsu实现图像分割附matlab代码

【图像分割】基于最大类间法otsu实现图像分割附matlab代码

时间:2022-02-25 来源: 浏览:

【图像分割】基于最大类间法otsu实现图像分割附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #图像处理matlab源码 444个

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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐