就像中值滤波器的定义一样,我可以将“最大滤波器”定义为局部窗口
例如dst(x,y) = max(3x3 局部窗口像素)
但是我在opencv中找不到这样的过滤器,最接近的是“dilate”函数
然后我使用“dilate”函数的默认配置,但结果不正确 与我对最大过滤器的强力实现进行比较。
我发现对于3x3的情况,等效的扩张配置是使用1x1的矩形结构元素,即
dilate(src, dst, getStructuringElement(MORPH_RECT, Size(1,1)))
我的问题是:
我认为结构元素相当于本地窗口,这似乎违反直觉。但现在本地窗口的大小只有1x1像素?
如果我的最大过滤器的本地窗口扩大(例如 5x5、7x7)怎么办?最大滤波器和膨胀滤波器有什么关系吗?
Mathematica 中的实现示例:
但是 Dilation[ ] 也接受结构化内核: