【发布时间】:2011-07-01 23:26:09
【问题描述】:
这是一个关于 Matlab/Octave 的问题。 我看到 medfilt1(matlab 中的 1D 中值滤波器命令)计算的一些结果,我对此感到困惑。
编辑:抱歉忘记提及:我正在使用 Octave for Windows 3.2.4。这是我看到这种行为的地方。
请查看下面的问题,如果我遗漏了什么,请指出。
1] 我有一个一维数据数组 b=[ 3 5 -8 6 0];
out=medfilt1(b,3);
我希望输出为 [3 3 5 0 0],但它显示输出为 [4 3 5 0 3]
怎么会?这里有什么问题? FYI-Help 说它将边界处的数据填充 0(零)。
2] medfilt2(matlab中的二维中值滤波命令)是如何工作的。
帮助说“每个输出像素包含输入图像中相应像素周围 m×n 邻域中的中值”。
对于 m=3,n=3,它是否为放置在其中心的每个输入像素计算一个 3x3 矩阵 MAT,并执行 median(median(MAT)) 以计算其在 m×n 中的中值小区?
任何指针都会有所帮助。
谢谢。 -AD
【问题讨论】:
-
您使用什么 Matlab/Octave 版本?我无法使用 Matlab 7.11.0 (R2010b) 复制您的第一个问题。
-
抱歉忘了说:我使用的是 Windows 3.2.4 的 Octave。这是我看到这种行为的地方。