主要内容

风琴

局部图像

描述

例子

j= Rancyfilt(返回数组j,其中每个输出像素包含输入图像中相应像素周围3 x邻域的范围值(最大值 - 最小值)

例子

j= Rancyfilt(,,,,返回局部图像范围使用指定的社区,

例子

全部收缩

在工作区中阅读图像。

i = imread('liftingbody.png');

过滤图像。这风琴函数返回一个数组,其中每个输出像素包含输入图像中相应像素周围3 x邻域的范围值(最大值 - 最小值)。

j = Rancefilt(i);

显示原始图像和并排过滤的图像。

imshowpair(i,j,'剪辑'

图包含一个轴对象。轴对象包含类型图像的对象。

此示例显示了如何使用纹理过滤器功能检测图像中纹理区域

在工作区中读取图像并显示。在图中,背景是平滑的 - 灰度值的变化很小。在前景中,硬币的表面轮廓表现出更多的质感。在此图像中,前景像素具有更大的可变性,因此具有更高的范围值。

i = imread('八.tif');imshow(i)

图包含一个轴对象。轴对象包含类型图像的对象。

风琴功能并显示结果。范围过滤使硬币的边缘和轮廓可见。

k = Rancefilt(i);图IMShow(K)

图包含一个轴对象。轴对象包含类型图像的对象。

在工作区中读取图像,然后显示。

i = imread('电路.tif');imshow(i);

图包含一个轴对象。轴对象包含类型图像的对象。

定义一个社区。在此示例中,当输入像素的左侧和右侧的像素值之间存在较大差异时,邻域将返回一个较大的值。过滤不考虑上面的像素并吹入输入像素。因此,这个社区强调垂直边缘。

nhone = [1 1 1];

使用此社区执行范围过滤操作。为了进行比较,还使用默认的3 x-3邻域执行范围过滤。比较结果。

j = Rancefilt(i,nhood);k = Rancefilt(i);图Imshowpair(J,K,'剪辑');标题(“使用指定邻域(左)和默认社区(右)过滤范围过滤”);

图包含一个轴对象。使用指定的邻域(左)和默认邻域(右)的轴对象具有标题范围过滤,其中包含一个类型图像的对象。

如预期的那样,使用指定邻域的结果强调垂直边缘。相比之下,默认过滤器对边缘方向性不敏感。

输入参数

全部收缩

要过滤的图像,指定为任何维度的数字阵列。

数据类型:双倍的|UINT8|UINT16|UINT32|逻辑

邻域,指定为包含零和一个的逻辑或数字阵列。的大小在每个维度中必须奇怪。风琴通过地板((尺寸(nhood) + 1)/2)

要指定其他形状的社区,例如磁盘,请使用Strel函数创建所需形状的结构元素对象。然后,从结构元素对象的对象中提取邻域邻里财产。

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑

输出参数

全部收缩

过滤的图像,作为数字阵列返回,与输入图像相同的大小和类,除了签名的整数数据类型。签名数据类型的输出类是相应的无符号整数数据类型。例如,如果类别int8,然后是jUINT8

算法

风琴使用形态学功能不断增加imerode确定指定社区中的最大值和最小值。最后,风琴使用这些形态功能的填充行为。

在R2006a之前引入