主要内容

imbinarize

采用阈值法对二维灰度图像或三维体积进行二值化

描述

例子

BW= imbinarize (从2-D或3-D灰度图像创建二值图像通过将所有高于全局确定阈值的值替换为1S并将所有其他值设置为0s.默认情况下imbinarize采用Otsu方法,该方法选择阈值以使阈值黑白像素的类内方差最小化[1]imbinarize使用256 bin的图像直方图来计算大津的阈值。若要使用不同的柱状图,请参见otsuthresh

例子

BW= imbinarize (方法从image创建一个二值图像所指定的阈值方法方法“全球”“自适应”

BW= imbinarize (T从image创建一个二值图像使用阈值TT可以是全局图像阈值(指定为标量亮度值),也可以是局部自适应阈值(指定为亮度值矩阵)。

例子

BW= imbinarize (“自适应”,名称,值从image创建一个二值图像使用名称-值对来控制自适应阈值的各个方面。

例子

全部折叠

将灰度图像读入工作空间。

I = imread(“coins.png”);

将图像转换为二值图像。

BW = imbinalize (I);

将原始图像显示在二进制版本旁边。

图imshowpair (BW,我“蒙太奇”

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取灰度图像到工作空间。

I = imread(“rice.png”);

将灰度图像转换为二值图像。

BW = imbinalize (I,“自适应”);

显示原始图像沿二进制版本。

图imshowpair (BW,我“蒙太奇”

图中包含一个轴对象。axis对象包含一个image类型的对象。

将灰度图像读入工作区并显示它。

I = imread(“printedtext.png”);图imshow(I)标题(原始图像的

图中包含一个轴对象。标题为Original Image的axes对象包含一个Image类型的对象。

使用自适应阈值将图像转换为二值图像。使用ForegroundPolarity参数指示前景比背景暗。

BW = imbinalize (I,“自适应”“ForegroundPolarity”“黑暗”“敏感”, 0.4);

显示图像的二进制版本。

图imshow(BW)标题(“图像的二进制版本”

图中包含一个轴对象。标题为Binary Version of Image的axes对象包含一个Image类型的对象。

将三维灰度强度数据加载到工作空间中。

负载mristack;V = mristack;

查看3d卷。

图切片(double(V),size(V,2)/2,size(V,1)/2,size(V,3)/2)配色图灰色的阴影插值函数

图中包含一个轴对象。axis对象包含3个surface类型的对象。

将强度体积转换为三维二进制体积。

J = imbinalize (V);

查看三维二进制卷。

图切片(double(J),size(J,2)/2,size(J,1)/2,size(J,3)/2)配色图灰色的阴影插值函数

图中包含一个轴对象。axis对象包含3个surface类型的对象。

输入参数

全部折叠

输入图像,指定为2-D灰度图像或3-D灰度体积。imbinarize期望数据类型的像素值而且在[0,1]范围内。您可以使用重新调节函数将像素值调整到预期范围。

请注意

imbinarize将RGB图像解释为体积灰度图像,并且不分别将每个通道二值化。要从RGB图像生成二值图像,首先使用将图像转换为灰度图像rgb2gray

数据类型:||int8|int16|int32|uint8|uint16|uint32

用于将图像二值化的方法,指定为以下值之一。

意义

“全球”

使用大津方法计算全局图像阈值。看到graythresh查阅有关大津方法的更多信息。

“自适应”

计算局部自适应图像阈值选择使用局部一阶图像统计周围的每个像素。看到adaptthresh获取详细信息。如果图像包含年代或S,的行为imbinarize“自适应”方法未定义。传播的年代或S可能不会本地化到周围的邻居而且像素。

数据类型:字符|字符串

阈值亮度值,指定为数值标量或数值数组,值范围为[0,1]。

  • 如果T是数字标量吗imbinarize解释T作为全局图像阈值。使用graythreshotsuthresh计算全局图像阈值。

  • 如果T是数字数组吗imbinarize解释T作为一个局部自适应阈值。使用adaptthresh计算一个局部自适应阈值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:BW = imbinalize (I,'adaptive','Sensitivity',0.4);

自适应阈值分割的敏感因子,指定为逗号分隔的对,由“敏感”和一个范围为[0,1]的数字。高灵敏度值导致阈值更多的像素作为前景,风险包括一些背景像素。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

确定哪些像素被认为是自适应阈值的前景像素,指定为由逗号分隔的对组成“ForegroundPolarity”和以下值之一。

价值

意义

“光明”

前景比背景更亮。

“黑暗”

前景比背景暗

数据类型:字符|字符串

输出参数

全部折叠

输出二进制图像,返回为大小相同的逻辑矩阵或逻辑数组

数据类型:逻辑

提示

  • 要从索引图像生成二值图像,首先使用将图像转换为灰度图像ind2gray

算法

“自适应”方法使用局部自适应阈值对图像进行二值化。imbinarize使用像素周围的局部平均强度计算每个像素的阈值。这种技术也被称为布拉德利方法[2].的“自适应”方法还使用的邻域大小约为图像大小的1/8(计算为2 *地板(大小(I) / 16) + 1).要使用不同的一阶局部统计量或不同的邻域大小,请参见adaptthresh

参考文献

[1]Otsu, N,“从灰度直方图中选择阈值的方法”。IEEE系统、人与控制论汇刊.第9卷第1期,1979年,第62-66页。

[2]Bradley, D., G. Roth,“使用积分图像调整阈值”,图形工具杂志.第12卷第2期,2007,第13 - 21页。

扩展功能

在R2016a中引入