文档

imguidedfilter

图像引导滤波

语法

B = imguidedfilter (G)
B = imguidedfilter (A)
B = imguidedfilter(__、名称、值,…)

描述

B= imguidedfilter (一个G过滤二值、灰度或RGB图像一个使用引导过滤器,其中过滤过程是由图像引导的GG可以是二进制、灰度或RGB图像,并且必须具有与一个

例子

B= imguidedfilter (一个过滤输入图像一个自制导下,使用一个本身作为指导形象。这可以用于图像的边缘保持平滑一个

B= imguidedfilter (__名称,值,……)过滤器的图像一个使用名称-值对来控制引导过滤的各个方面。参数名称可以缩写。

例子

全部折叠

这个例子展示了如何使用一个引导滤波器进行边缘保持平滑。

将图像读入工作区。

一个= imread (“pout.tif”);

使用以下方法平滑图像imguidefilter.在这个语法,imguidedfilter利用图像本身作为引导图像。

Ismooth = imguidedfilter(一个);

将原图像和平滑图像并排显示。

imshowpair (Ismooth,“蒙太奇”);

输入参数

全部折叠

要过滤的图像,指定为非稀疏、二值、灰度或RGB图像。

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

在过滤过程中作为参考的图像,指定为非稀疏、二值、灰度或RGB图像。

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

名称-值对的观点

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

例子:issmooth = imguidedfilter(A,'NeighborhoodSize',[4 4]);

全部折叠

引导滤波中使用的每个像素周围的矩形邻域的大小,指定为标量或双元素向量,(mn),表示正整数。如果指定标量值,例如在美国,这个社区的面积是正方形的[Q Q]

例子:issmooth = imguidedfilter(A,'NeighborhoodSize',[4 4]);

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

输出图像中的平滑量,指定为一个正标量。如果你指定一个小的值,只有方差小的区域(均匀区域)会被平滑,而方差大的区域(如周围的边缘)不会被平滑。如果你指定一个更大的值,除了相对均匀的邻域外,高方差的邻域,比如更强的边,将被平滑。从默认值开始,检查结果,并向上或向下调整默认值以达到您想要的效果。

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

输出参数

全部折叠

过滤后的图像,作为大小和类型相同的数组返回一个

提示

  • 的参数DegreeOfSmoothing指定给定邻域的软方差阈值。如果一个像素的邻域方差大大低于阈值,它将看到一些平滑。如果一个像素的邻域方差远远高于阈值,它将很少或没有平滑。

  • 输入的图像一个G可以是不同的类。如果任何一一个G是类整数或逻辑的,imguidedfilter将它们转换为用于内部计算的浮点精度。

  • 输入的图像一个G可以有不同数量的通道。

    • 如果一个是一个RGB图像和G为灰度或二值图像,imguidedfilter使用G为所有渠道提供指导一个独立。

    • 如果两个一个GRGB图像,imguidedfilter使用G用于指导相应的通道一个,即飞机对飞机的行为。

    • 如果一个是灰度图像还是二值图像G是RGB图像,imguidedfilter使用所有的三个渠道G用于指导(颜色统计)过滤一个

参考文献

何开明,孙建,唐晓鸥,引导图像滤波.《IEEE模式分析与机器智能汇刊》,第35卷第6期,1397-1409页,2013年6月

介绍了R2014a

这个话题有用吗?