2015-04-19 112 views
-3

我在MATLAB下面的代码:OpenCV的功能相当于nllfilter

fun = @(x) median(x(:)); 
B = nlfilter(Zmax,[7 7],fun); 

是否有OpenCV的东西等同,我可以使用?

+0

我建议在不提及Matlab的情况下重新描述这个问题,那种知道OpenCV但不是Matlab的人将能够提供帮助。您还应该证明您尝试自己解决问题以及您遇到的具体困难。请参阅http://stackoverflow.com/help/how-to-ask – Nickolay

+0

说,你可以告诉我们什么'nlfilter'呢?我知道Opencv,但Matlab并不多。 – kebs

+0

'nlfilter'代表非线性滤波器。它使用自定义过滤操作来处理像素邻域,而不是标准卷积。 – rayryeng

回答

0

您在MATLAB中指定的函数实际上是一个中值滤波器。您不需要在OpenCV中找到等效的nlfilter调用。

OpenCV具有相同的机制,即medianBlur机制。

在C++中,函数原型为:

void medianBlur(InputArray src, OutputArray dst, int ksize) 

因此,你会因为要指定在已提供的MATLAB代码一个7×7位数指定模糊ksize=7