主要内容

imgaussfilt

二维高斯图像滤波

描述

B= imgaussfilt (一个过滤器的形象一个采用标准偏差为0.5的二维高斯平滑核,返回滤波后的图像B

例子

B= imgaussfilt (一个,σ过滤器的形象一个的二维高斯平滑核,其标准差为σ

B= imgaussfilt (___,名称,值使用名称-值参数来控制筛选的各个方面。

例子

全部折叠

读取待过滤图像。

我= imread (“cameraman.tif”);

用标准差为2的高斯滤波器对图像进行滤波。

Iblur = imgaussfilt(我,2);

在蒙太奇中显示原始和过滤的图像。

蒙太奇({我Iblur})标题(“原始图像(左)vs高斯滤波图像(右)”

图中包含一个axes对象。标题为Original Image(左)Vs. Gaussian Filtered Image(右)的axis对象包含一个类型为Image的对象。

输入参数

全部折叠

要过滤的图像,指定为任意维度的数值数组。

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

高斯分布的标准差,用正数或两个正数向量表示。如果指定一个标量,则imgaussfilt使用平方高斯核。

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

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

例子:“FilterSize”,3

高斯过滤器的大小,指定为正奇数整数或正奇数整数的2元素向量。如果指定一个标量,则imgaussfilt使用方形滤镜。默认的过滤器大小为2 *装天花板(2 *σ) + 1

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

图像填充,指定为以下之一。

价值 描述
数字标量 用常量值的元素填充图像。
“圆”

衬垫内元素循环重复。

“复制”

通过重复数组的边框元素来填充。

“对称”

衬垫图像与镜子反射本身。

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

执行过滤的域,指定为以下值之一:

价值 描述
“汽车” 基于内部启发式在空间或频域执行卷积。
“频率” 在频域进行卷积。
“空间” 在空间域进行卷积。

数据类型:字符|字符串

输出参数

全部折叠

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

提示

  • 如果图像一个包含具有值的元素,则行为imgaussfilt对于频域滤波未定义。如果您设置了FilterDomain名称-值参数“频率”或者如果你把它设置成“汽车”而且imgaussfilt使用频域滤波。限制…的传播年代和S的输出方式类似于imfilter,请考虑设置“FilterDomain”名称-值参数“空间”

  • 如果你设置“FilterDomain”名称-值参数“汽车”,然后imgaussfilt使用内部启发式来确定是空间域滤波还是频域滤波更快。这种启发式依赖于机器,可能会因不同的配置而有所不同。要获得最佳性能,请尝试这两个选项,“空间”而且“频率”,以确定您的图像和内核大小的最佳过滤域。

  • 如果不指定填充名称-值参数,然后imgaussfilt使用“复制”的默认填充,它不同于imfilter

扩展功能

版本历史

介绍了R2015a