【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二值图');
效果图:
上一篇: Python 类与对象
下一篇: Mac Weex开发环境安装教程