【问题标题】:opencv morphological dilation filter as maximum filteropencv形态膨胀过滤器作为最大过滤器
【发布时间】:2011-04-17 20:04:11
【问题描述】:

就像中值滤波器的定义一样,我可以将“最大滤波器”定义为局部窗口

例如dst(x,y) = max(3x3 局部窗口像素)

但我在opencv中找不到这样的过滤器,最接近的是“扩张”功能

然后我使用默认配置的“扩张”功能,但结果不正确 与我对最大过滤器的蛮力实现进行比较。

我发现对于 3x3 的情况,等效扩张配置是使用 1x1 矩形结构元素,即

dilate(src, dst, getStructuringElement(MORPH_RECT, Size(1,1)))

我的问题是:

  1. 我认为结构元素等同于本地窗口对我来说似乎违反直觉。但是现在本地窗口的大小只有 1x1 像素?

  2. 如果我的最大过滤器的本地窗口扩展(例如 5x5、7x7)怎么办?最大过滤器和膨胀过滤器之间有什么关系吗?

【问题讨论】:

  • 在这个问题之后,我发现我的代码中的逻辑错误......扩张/最大过滤器的定义是相同的

标签: image-processing filter opencv max morphological-analysis


【解决方案1】:

Mathematica 中的一个实现示例:

Dilation[ ] 也接受结构化内核:

【讨论】:

  • 因此,您的案例建议Dilation[img, 2] != MaxFilter[img, 2]?
  • @Bossliaw 不。 AFAIK,膨胀通常是 MaxFilter 的概括,因为您可以指定内核
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多