当前位置:首页 > 代码 > 正文

matlab类间阈值分割代码的简单介绍

admin 发布:2022-12-19 21:06 112


本篇文章给大家谈谈matlab类间阈值分割代码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

matlab任选阈值分割

I=imread('test.jpg');

subplot(1,3,1);

imshow(I);

title('原图');

I1=rgb2gray(I);

subplot(1,3,2);

imhist(I1);

title('直方图');

level=graythresh(I);

g=im2bw(I,level);%最佳阈值level subplo.

Matlab中Ostu算法自动阈值分割具体怎么操作

function threshold=ostu(filename);

x=imread(ff);

%figure;

%imshow(x);

[m,n]=size(x);

N=m*n;

num=zeros(1,256);

p=zeros(1,256);

for i=1:m

for j=1:n

num(x(i,j)+1)=num(x(i,j)+1)+1;

end

end

for i=0:255;

p(i+1)=num(i+1)/N;

end

totalmean=0;

for i=0:255;

totalmean=totalmean+i*p(i+1);

end

maxvar=0;

for k=0:255

kk=k+1;

zerosth=sum(p(1:kk));

firsth=0;

for h=0:k

firsth=firsth+h*p(h+1);

end

var=totalmean*zerosth-firsth;

var=var*var;

var=var/(zerosth*(1-zerosth)+0.01);

var=sqrt(var);

if(varmaxvar)

maxvar=var;

point=k;

end

end

threshold=point;

for i=0:255;

p(i+1)=num(i+1)/N;

end

totalmean=0;

for i=0:255;

totalmean=totalmean+i*p(i+1);

end

maxvar=0;

for k=0:255

kk=k+1;

zerosth=sum(p(1:kk));

用matlab求图像阈值分析程序,急啊~

我给你提供2种方法,一种是直方图阈值法一种是最大类间方差

直方图阈值法

用 MATLAB实现直方图阈值法:

I=imread(' c4.jpg ');

I1=rgb2gray(I);

figure;

subplot(2,2,1);

imshow(I1);

title(' 灰度图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

[m,n]=size(I1); %测量图像尺寸参数

GP=zeros(1,256); %预创建存放灰度出现概率的向量

for k=0:255

GP(k+1)=length(find(I1==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置

end

subplot(2,2,2),bar(0:255,GP,'g') %绘制直方图

title('灰度直方图')

xlabel('灰度值')

ylabel(' 出现概率')

I2=im2bw(I,150/255);

subplot(2,2,3),imshow(I2);

title('阈值150的分割图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

I3=im2bw(I,200/255); %

subplot(2,2,4),imshow(I3);

title('阈值200的分割图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

自动阈值法:Otsu法

用MATLAB实现Otsu算法:

clc

clear all

I=imread(' c4.jpg ');

subplot(1,2,1),imshow(I);

title('原始图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

level=graythresh(I); %确定灰度阈值

BW=im2bw(I,level);

subplot(1,2,2),imshow(BW);

title('Otsu 法阈值分割图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

matlab类间阈值分割代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、matlab类间阈值分割代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/24130.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载