主要内容

applylut

使用查找表对二值图像进行邻域操作

applylut不推荐。使用bwlookup代替。

描述

例子

一个= applylut (BW附近地区对二值图像执行2乘2或3乘3的邻域操作BW通过使用查找表,附近地区.查找表包含所有可能的2 × 2或3 × 3邻域的输出值。

例子

全部折叠

创建的。

lutfun = @ (x)(总和(x (:)) = = 4);附近地区= makelut (lutfun 2);

将图像读入工作区,然后将LUT应用于图像。输出像素为仅当输入像素的四个邻域像素都为

BW1 = imread (“text.png”);BW2 = applylut (BW1,附近地区);

显示原始图像和被侵蚀的图像。

图中,imshow (BW1);

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

图中,imshow (BW2);

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

输入参数

全部折叠

输入图像,指定为二维二值图像。对于数字输入,任何非零像素都被认为是1真正的).

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

指定为返回的16个或512个元素向量的输出像素值查找表makelut

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

输出参数

全部折叠

输出图像,作为灰度或二进制图像返回,其像素值的分布由查找表的内容决定,附近地区.输出图像J是否与输入图像大小相同

  • 如果所有的元素附近地区01,然后一个有数据类型逻辑

  • 如果所有的元素附近地区整数是否在0和255之间一个有数据类型uint8

  • 对于其他情况,一个有数据类型

数据类型:|uint8|逻辑

算法

全部折叠

applylut对二值图像进行邻域运算,生成一个由指标组成的矩阵附近地区,然后用中的实际值替换索引附近地区.使用的具体算法取决于您使用的是2乘2还是3乘3的邻域。

2×2的社区

为2×2的社区,长度(附近地区)是16。每个邻域有四个像素,每个像素有两种可能的状态,所以排列的总数是24= 16。

为了得到指标矩阵,applylut卷积二值图像BW这个矩阵。

8 2 4 1

得到的卷积包含范围[0,15]的整数值。applylut使用卷积的中心部分,大小与BW,并给每个值加1以将范围移到[1,16]。然后该函数构造一个通过用中的值替换索引矩阵单元格中的值附近地区这些指数所指向的。

3 x3的社区

为3×3的社区,长度(附近地区)是512。每个邻域有9个像素,每个像素有两种可能的状态,所以排列的总数是29= 512。

为了得到指标矩阵,applylut卷积二值图像BW这个矩阵。

256 32 4 128 16 2 64 8 1

得到的卷积包含范围[0,511]的整数值。applylut使用卷积的中心部分,大小与BW,并给每个值加1,将范围移到[1,512]。然后构造一个通过用中的值替换索引矩阵单元格中的值附近地区这些指数所指向的。

兼容性的考虑

全部展开

不建议从R2012b开始

另请参阅

之前介绍过的R2006a