如何根据图像质量确定使用哪种 OCR 方法

Posted

技术标签:

【中文标题】如何根据图像质量确定使用哪种 OCR 方法【英文标题】:How to determine which method of OCR to use depending on images quality 【发布时间】:2020-04-14 04:20:54 【问题描述】:

我在问一个问题,因为我为期两周的研究开始让我很困惑。

我有一堆图像,我想从中获取运行时的数字(强化学习中的奖励功能需要它)。问题是,它们对我来说非常清楚(我知道这对于 OCR 系统来说是完全不同的事情,但这就是为什么我提供额外的图像来展示我在说什么)

我认为是因为它们相当清楚。因此,我尝试使用 PyTesseract,当它不起作用时,我尝试研究哪些其他方法对我有用。

...这就是我的搜索到此结束的方式,因为两周时间试图找出最适合我的问题的方法只是提出了更多问题。

目前我认为最好的解决方法是从 MNIST/SVNH 数据集创建数字识别模型,但这不是有点矫枉过正吗?我的意思是,图像是标准化的,它们是灰度的,它们很小,数字字体保持不变,所以我想有更简单的方法来修改这些图像/使用不同的 OCR 方法。

这就是为什么我要问两个问题:

    如果不是模型,哪种方法对我的情况最有用 用 MNIST/SVNH 数据集训练? 是否有任何类型的文档/书籍/资源可以使基础设施的实际选择更容易?我的意思是,让我们说 将来我会再次计划使用哪个 OCR 系统。 我应该在什么基础上做出选择?是否纯粹是反复试验 东西?

【问题讨论】:

这与 Stack Overflow IMO 无关。 是吗?我应该在其他类似 Stack 的网站上发布这样的问题吗? 确实如此,请参阅:help center。第一个问题不是特定的编程问题,第二个问题显然是题外话。试试统计堆栈交换?可能有一个特定于 ML/OCR 的,我不确定。 当然!对此感到抱歉。我认为我也可以在那里发布与编程相关的问题,而无需特定于代码的问题。 查看help center。 【参考方案1】:

如果您必须识别的是这 7 个分段数字,请忘记任何 OCR 包。

使用窗口的轮廓来查找数字的大小和位置。然后计数七个预定义区域中的黑色像素,面向线段。

【讨论】:

我永远不会猜到这个问题会有这样的解决方案,真的。谢谢!

以上是关于如何根据图像质量确定使用哪种 OCR 方法的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SSIM 确定图像质量?

在 OCR 之前检查图像质量

如何提高图像质量? [关闭]

提高低质量扫描图像的OCR质量

OCR 图像预处理

在 OCR(光学字符识别)之前,您会推荐啥软件用于图像增强? [关闭]