gpt4 book ai didi

opencv - 在 OpenCV 的复杂背景中使用 Tesseract 检测文本

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:29 26 4
gpt4 key购买 nike

我想在 OpenCV 中使用 Tesseract 检测复杂背景中的文本,例如这个。我应该如何完成这项任务?

Old Airtel Logo

最佳答案

查看 Detect white characters on black background using Tesseract 的答案.答案引用了一篇描述如何以独立于背景的方式识别文本的论文。

T. Kasar、J. Kumar 和 A. G. Ramakrishnan 在论文中描述并由 Jason Funk 实现的算法包含多个阶段。在第一阶段,使用 Canny 对每个 channel (R、G、B)执行边缘检测。然后使用 bitwise_or 将这些边缘组合成灰度图像。

接下来我们找到轮廓。关键是字母的轮廓及其边界框遵循一定的规则(例如,轮廓是封闭的,宽高比合理,边界框不是太大(页面大小)或太小(像素大小),可能的数量内部边缘是已知的——大多数字母为 0,“o”为 1,“8”和“B”为 2)。所以你筛选边界框并保留那些遵循规则的。然而,每条边生成两个轮廓,一个在外面,一个在里面。我仍然不确定我的逻辑是否正确。

在任何情况下,您保留的方框都围绕着字母及其内部空间。前景强度只是您通过追踪与源图像中的框相关联的轮廓的轮廓而获得的平均强度。背景强度是在对源图像中边界框的四个角周围的像素进行采样时获得的中值强度。如果前景强度小于背景强度,则前景颜色为黑色;否则,前景色为白色。请记住,这是针对每个边界框完成的。

因此,对于每个边界框,我们根据源图像中每个像素的强度与该边界框的前景强度的比较来为结果着色。基于这种比较,该像素被确定为前景或背景的一部分。

我认为这个方法是合理的,但细节有点棘手。

关于opencv - 在 OpenCV 的复杂背景中使用 Tesseract 检测文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38791110/

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