Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于matlab中值滤波命令的几个问题_Matlab_Filter_Median - Fatal编程技术网

关于matlab中值滤波命令的几个问题

关于matlab中值滤波命令的几个问题,matlab,filter,median,Matlab,Filter,Median,这是一个关于Matlab/Octave的问题。 我看到medfilt1(matlab中的1D中值滤波命令)计算的一些结果,对此我感到困惑 编辑:对不起,忘了提一下:我正在为Windows 3.2.4使用倍频程。这就是我看到这种行为的地方。 请看下面的问题,并指出我是否遗漏了什么 1] 我有一个一维数据数组b=[35-860] out=medfilt1(b,3) 我期望输出为[3 3 5 0 0],但它显示输出为[4 3 5 0 3] 为什么?这里怎么了? FYI Help说它将边界处的数据填充0

这是一个关于Matlab/Octave的问题。 我看到medfilt1(matlab中的1D中值滤波命令)计算的一些结果,对此我感到困惑


编辑:对不起,忘了提一下:我正在为Windows 3.2.4使用倍频程。这就是我看到这种行为的地方。

请看下面的问题,并指出我是否遗漏了什么

1] 我有一个一维数据数组b=[35-860]

out=medfilt1(b,3)

我期望输出为[3 3 5 0 0],但它显示输出为[4 3 5 0 3]

为什么?这里怎么了? FYI Help说它将边界处的数据填充0(零)

2] medfilt2(matlab中的2D中值滤波命令)是如何工作的

Help说“每个输出像素包含输入图像中相应像素周围m×n邻域中的中值”

对于m=3,n=3,那么它是否为位于其中心的每个输入像素计算3x3矩阵矩阵矩阵,并进行中值(中值(MAT))以计算其在m×n邻域中的中值

任何指示都会有帮助


多谢各位-AD

我无法用Matlab 7.11.0复制您的错误,但从您问题中的信息来看,您的medfilt1版本似乎无法区分奇数或偶数n

在偶数长度的向量中求中值时,通常取两个中值的平均值

median([1 3 4 5]) = (3+4)/2 = 3.5
你的情况似乎就是这样。不将n视为奇数,并将值设置为3,而是将n视为偶数,并计算出第一个输出值为

median([0 3 5]) = (3+5)/2 = 4
等等。。编辑:这似乎只发生在端点,这表明用零填充在八度代码中工作不正常

对于第二个问题,您几乎是对的,它在每个中心计算一个3x3矩阵,但它不计算中位数(中位数(MAT)),而是中位数(MAT(:)。这是不同的

A = [1     2     3
     14     5    33
     11     7    13];

median(median(A)) = 11
median(A(:)) = 7

你使用什么Matlab/倍频程版本?我无法用Matlab7.11.0(R2010b)复制您的第一个问题。很抱歉,我忘了提到:我在使用Windows 3.2.4的倍频程。这就是我看到这种行为的地方。谢谢。在您在回复中给出的示例中,当我们说中值(A(:))时,它会做什么?至于medfilt1()中的问题,您似乎是正确的,尽管错误/不正确的中值计算只是在计算输入数组的边界样本处的中值。不需要任何边界特殊填充条件的中间样本看起来很好。它将矩阵展平,即将其转换为长度为9的单个向量。如果你使用中位数(中位数(A)),你首先在行上取中位数,然后在其余列上取中位数。@goldenmean:是的,你是对的,我只是编辑我的回复来评论一下。谢谢你对中位数(A(:)的解释。