主要内容

imbinarize

利用阈值法对二维灰度图像或三维体进行二值化处理

描述

例子

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

例子

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

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

例子

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

例子

全部折叠

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

我= imread (“coins.png”);

将图像转换为二值图像。

BW = imbinarize(我);

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

图imshowpair (BW,我“蒙太奇”

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

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

我= imread (“rice.png”);

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

BW = imbinarize(我“自适应”);

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

图imshowpair (BW,我“蒙太奇”

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

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

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

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

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

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

显示图像的二进制版本。

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

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

将3-D灰度强度数据加载到工作区中。

负载mristack;V = mristack;

查看3d卷。

图片(双(V)、大小(V, 2) / 2,大小(V, 1) / 2,大小(V, 3) / 2) colormap灰色的阴影插值函数

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

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

J = imbinarize (V);

查看3d二进制卷。

图片(双(J),大小(J, 2) / 2,大小(J - 1) / 2,大小(J, 3) / 2) colormap灰色的阴影插值函数

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

输入参数

全部折叠

输入图像,指定为二维灰度图像或三维灰度卷。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,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:BW = imbinarize(“自适应”,我“敏感性”,0.4);

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

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

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

价值

意义

“光明”

前景比背景更亮。

“黑暗”

前景比背景暗

数据类型:字符|字符串

输出参数

全部折叠

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

数据类型:逻辑

提示

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

算法

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

参考文献

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

[2]布拉德利,D. G.罗斯,“利用积分图像适应阈值化”,图形工具杂志.2007年第12卷第2期,第13 - 21页。

扩展功能

版本历史

介绍了R2016a

Baidu
map