gpt4 book ai didi

opencv MSER.detectRegions() 与 findContours() : what's the difference?

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:42 24 4
gpt4 key购买 nike

我正在构建一个通用的图像文本解析算法。我在运行:

MSER.detectRegions()

对比

findContours(...cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

在二值图像上。结果是一样的。我知道 MSER 可以在灰度上完成,但我想更安全。

我需要选择其中之一,findContours() 花费的运行时间不到 MSER 的一半。

我错过了什么吗?你会选择什么?

最佳答案

如前所述,在二值图像上计算 MSER 没有意义。 MSER 基本上使用递增(递减)阈值多次对图像(灰度)进行阈值处理,您得到的是一个所谓的组件树,就像这样 here .至少在不同的二值化过程中改变其大小/形状的连通分量是所谓的最大稳定极值区域(例如示意图中的 K)。这当然是一个非常简化的解释。请向谷歌询问更多细节,你会发现足够的。

如您所见,对已经阈值化的图像进行阈值化没有意义。所以改为将灰度图像传递给 MSER 算法。 MSER 是最先进的文本检测方法的通用基础(参见 herehere)。

关于opencv MSER.detectRegions() 与 findContours() : what's the difference?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39490063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com