欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【matlab】图像二值化---最大类间方差法

程序员文章站 2022-04-05 19:42:24
...

最大类间方差法

最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适合于双峰情况的自动求取阈值的方法,又叫大津法,简称Otsu。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。

在Matlab中, graythresh 函数使用最大类间方差法获得图像的阈值。

如:	level=graythresh(I1);
输入 :I1 是灰度图
输出: level 就是灰度图进行二值化的阈值

im2bw (推荐使用 imbinarize)将灰度图转换成二值图

如: I2=im2bw(I1,level);
输入:I1 原灰度图   level 灰度阈值
输出: I2 二值图
I=imread('./ImageLib/DT4.png');
subplot(131);imshow(I);title('原始图像');

I=im2double(I);
[h,w,L]=size(I);  %计算图像的大小
I1=2*I(:,:,2)-I(:,:,1)-I(:,:,3);
subplot(132);imshow(I1);title('2G-R-B灰度化图像');

level=graythresh(I1);     %确定灰度阈值
% I2=im2bw(I1,level); 
I2=imbinarize(I1,level);
subplot(133);imshow(I2);title('Otsu二值图');

效果图:
【matlab】图像二值化---最大类间方差法

相关标签: matlab 图像识别