有没有人在 OpenCV 中使用 MSER 来检测区域?

Posted

技术标签:

【中文标题】有没有人在 OpenCV 中使用 MSER 来检测区域?【英文标题】:Has anyone used MSER in OpenCV to detect regions? 【发布时间】:2011-09-03 09:42:59 【问题描述】:

阅读Robust text detection 上的这篇论文,其中讨论了使用MSER(最大稳定外部区域)来定位图像中的区域,因为它通常比我们一直在做的通常的轮廓查找连接组件分析更稳健到目前为止。

文本检测论文的第 2.1 节中提到了 MSER(如果您实际检查了它:D),我不知道如何在 OpenCV 中应用/实现它。 documentation 没有任何示例,因此实际运行任何代码有点困难。

以前有人试过吗?

实现的代码是there,但是有一些颜色转换和一些有点令人困惑的东西。有人可以帮我弄清楚 MSER 到底做了什么,以及如何将其放在 OpenCV 中吗?提前致谢。

编辑:找到了一个 MATLAB 实现 here。

【问题讨论】:

对于 2015 年寻找这个的人,有一个 mser.py 可以在 OpenCV 中使用。它在 samples/python2 【参考方案1】:

OpenCV 自 2.1 以来已经有一个 MSER 实现

Here 是 c++ 文档。我认为 C 函数是 cvMSER,但这可能是错误的,有一段时间没用过。

【讨论】:

我看过文档。这并没有完全充满信息。 :) OpenCV 版本是真正的线性时间实现并在 BSD 下获得许可,而 VLFeat 是 GPL。【参考方案2】:

我坦率地推荐您找到的 VLFeat MSER 实现。我以前用过,效果很好。

请注意,VLFeat 实现具有用于核心数字的 C/C++,同时具有 C 和 Matlab API。这使您可以使用 Matlab 进行快速原型设计,然后轻松切换到 C。

出于试验特征检测/描述的目的,我个人更喜欢该库而不是 OpenCV。

【讨论】:

以上是关于有没有人在 OpenCV 中使用 MSER 来检测区域?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 例程 300篇247. 特征检测之最大稳定极值区域(MSER)

opencv mser算法框出图片文字区域

OpenCV实战——使用MSER提取特征区域

为啥 OpenCV 的 MSER 的 Python 实现和 Java 实现会产生不同的输出?

MSER+NMS文本区域检测

在opencv 3.0中擦除图像的阴影[关闭]