使用Otsu方法计算全局图像阈值
语法:
T = graythresh(I)
[T,EM] = graythresh(I)
说明:
T = graythresh(I) 使用 Otsu 方法 , 根据灰度图像 I 计算全局阈值 T。Otsu 方法选择一个阈值,使阈值化的
黑白像素的类内方差最小化。全局阈值 T 可与 imbinarize 结合使用以将灰度图像转换为二值图像。[T,EM] = graythresh(I) 还返回有效性度量 EM。
示例
使用灰度级阈值将强度图像转换为二值图像
clear all
close all
clc
I=imread('timg.jpg');
I=rgb2gray(I);
%使用graythresh计算阈值。阈值归一化至范围[0,1]。
level=graythresh(I);
%使用阈值将图像转换为二值图像。
BW = imbinarize(I,level);
%在二值图像旁边显示原始图像。
imshowpair(I,BW,'montage')
默认情况下,函数 imbinarize 使用通过 Otsu 方法获得的阈值创建二值图像。该默认阈值与 graythresh 返回的阈值相同。但是,imbinarize 只返回二值图像。如果需要灰度级或有效性度量,请在调用 imbinarize 之前使用 graythresh。