必威体育Betway必威体育官网
当前位置:首页 > IT技术

MATLAB——阈值分割(一)

时间:2019-06-20 17:45:15来源:IT技术作者:seo实验室小编阅读:66次「手机版」
 

阈值分割

阈值分割是一种简单有效的图像分割方法,适用于分割物体与背景有较强对比的图像,所有灰度大于或等于阈值的像素被判定为属于物体,灰度值为255表示前景,否则这些像素点将被排除在物体区域以外,灰度值为0表示背景。多阈值分割与单阈值分割并无本质区别,只是分割技巧不同。

直方图分割

灰度图像中画面比较简单且对象物的灰度分布比较有规律时,背景和对象物在图像的灰度直方图上各形成一个波峰,由于每两个波峰间形成一个低谷,因而选择双峰间低谷处所对应的灰度值为阈值,可将两个区域分离。

该方法称为直方图阈值双峰。

具体实现的方法是先做出图像f(i,j)的灰度直方图,若只出现背景和目标物两区域部分所对应的直方图呈双峰且有明显的谷底,则可以将谷底点所对对应的灰度作为阈值t,然后根据该阈值进行分割即可将目标从图像中分割出来。这种方法适用于目标和背景的灰度差较大,直方图有明显低谷的情况。

clear all;
f=imread('peppers.png');
f=rgb2gray(f);%转换为灰度图像
f=im2double(f);%数据类型转换
%全剧阈值
T=0.5*(min(f(:))+max(f(:)));
done=false;
while ~done
	g=f>=T;
	Tn=0.5*(mean(f(g))+mean(f(~g)));
	done = abs(T-Tn)<0.1;
	T=Tn;
end
display('Threshold(T)-Iterative');%显示文字
T
r=im2bw(f,T);
subplot(221);imshow(f);
xlabel('(a)原始图像');
subplot(222);imshow(r);
xlabel('(b)迭代法全局阈值分割');
Th=graythresh(f);%阈值
display('Global Thresholding- Otsu''s Method');
Th
s=im2bw(f,Th);
subplot(223);imshow(s);
xlabel('(c)全局阈值Otsu法阈值分割');
se=strel('disk',10);
ft=imtophat(f,se);
Thr=graythresh(ft);
display('Threshold(T) -Local Thresholding');
Thr
lt = im2bw(ft,Thr);
subplot(224);imshow(lt);
xlabel('(d)局部阈值分割');

直方图阈值分割

请各位大牛多多指教。刚入门。

相关阅读

MATLAB学习笔记:数值积分

当(1)被积函数的原函数不能用初等函数表示。(2)被积函数难以用公式表示,而是用图形或表格给出的。就应该建立定积分的近似计算方法:数值

matlab 画图例题篇

1、画出[0,2pi] 范围之内的sin曲线syms x>> x=[0:0.01:2*pi];>> plot(sin(x))2、画出间距0.05,[0,2pi] 范围之内的sin曲线的离散图

简单遗传算法MATLAB实现

原文地址为:简单遗传算法MATLAB实现遗传算法的概念最早是由Bagley J.D 于1967年提出的。后来Michigan大学的J.H.Holland教授于1975

Matlab中plot函数参数解析

功能 二维曲线绘图语法 1234567 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,..

使用Matlab求解定积分/不定积分

一、符号积分 求符号积分函数:int格式:int(f,x,a,b)功能:计算定积分格式:int(f,x)功能:计算不定积分使用int函数之前,先用syms声明x是符

分享到:

栏目导航

推荐阅读

热门阅读