【问题标题】:How to print the handwritten text inside the bounding boxes using open CV如何使用打开的 CV 在边界框内打印手写文本
【发布时间】:2018-05-24 06:01:40
【问题描述】:

我正在尝试识别手写文本(大写字母和字母数字)并打印出来。

我已使用此链接中提到的代码。 handwriiten word recognition

我还能够在边界框中分别获得不同的字母,它给出了这样的结果。

我有两个问题-

1 - 我想打印出边界框内的文本

2- 在连续书写时,它会考虑整个单词,如

所示

在 github 链接中输出,但这里只考虑字母。

这里是小写字母连续写入的输出

谁能指导我如何用资本做到这一点

字母以及如何在边界框内打印出良好的文本

准确度,使其适用于大写字母。

请任何可以指导我并告诉我如何做到这一点的人。

任何关于手写识别和文本的帮助。

【问题讨论】:

    标签: python opencv text computer-vision handwriting-recognition


    【解决方案1】:

    在找到边界框之前,您必须进行一些预处理。

    我从提供的图像中使用阈值获得了二值图像。之后,我制作了一个自定义内核,使其具有比行更多的列数来执行形态学操作。这样,靠近的字母就会配对。

    代码:

    custom_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (30, 10))
    threshed = cv2.morphologyEx(binary_image, cv2.MORPH_CLOSE, custom_kernel)
    cv2.imshow('Connected letters', threshed)
    

    得到这个之后就可以找到边界框了。

    【讨论】:

    • 感谢您分享如此宝贵的信息,我也会这样做。你能告诉我如何在框中打印文本以便提取文本。
    • 可以使用pytesseract库进行文本提取!
    • 对于手写文本识别 (HTR),您需要一个像 CRNN(查看 github)这样的 HTR 模型,并在您想要的手写风格和字符集的样本上对其进行训练。也许你也可以重新训练 Tesseract。但是,没有开箱即用的解决方案来识别我所知道的所有可能的手写风格。
    • @Harry 是对的。对于手写文本,仍然不可能/很难找到解决方案。对于计算机/机器制作的文本(如文件/身份证/车牌/等),您可以使用 Tesseract(我建议使用版本 4)。您还可以使用 MNIST 来手写数字以及您可以在 Google 教程/GitHub 中找到的简单神经网络。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2021-11-08
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2015-04-25
    相关资源
    最近更新 更多