使用python从图像中获取字符

xiaoxingxing pytorch 171

原文标题Get character out of image with python

我想用python检测这样的图像中的字符:enter image description here

在这种情况下,代码应返回结果“6010001”。

我怎样才能从这张图片中得到结果?我需要什么?

供您参考,如果解决方案是 AI 解决方案,则大约有 20.000 个标记图像。

谢谢转发:)

原文链接:https://stackoverflow.com//questions/71940073/get-character-out-of-image-with-python

回复

我来回复
  • TobsterJ的头像
    TobsterJ 评论

    问题:所有的图片都是相似性质的吗?意思是数字是印在类似的材料上,还是用不同的技术(例如笔画、印章等)带有数字的随机图片?

    如果它们都非常相似(如示例图片中的良好对比),我建议编写您的“自己的”AI,否则使用现有的神经网络/库(因为我假设您可能希望避免创建自己的神经网络的痛苦)网络 – 并标记很多图片)。

    如果他们的照片非常“相似”,请遵循建议的方法:

    • 增加对比度的灰度图像
    • 定义框(大于数字),扫描图像并计数0,通过试验定义有效范围以检测数字,避免重叠
    • 每个命中区域,将其分成扇区,例如6×4,计数 0
    • 为从 0 到 9 的每个数字(例如字符串)建立每个扇区的计数小知识库(csv 文件);您最终将在数据库中每个数字都有多个有效字符串,只需确保它们是唯一的(否则重新定义步骤 1-3)

    另外我建议自己做一个智能知识库,意思是:如果无法识别数字,保存数字图片和结果。然后自己做一个小程序,它会显示未定义的数字和结果字符串,然后您可以手动将它们添加到相应数字的知识数据库中。

    希望能帮助到你。我使用相同的方法从屏幕图片中读取许多不同的数据并将它们存储在数据库中。像魅力一样工作。#自己做比使用标准神经网络更好:)

    2年前 0条评论
  • NYC Coder的头像
    NYC Coder 评论

    你可以用opencv-pythonpytesseract

    import cv2
    import pytesseract
    
    
    img = cv2.imread('img3.jpeg')
    text = pytesseract.image_to_string(img)
    print(text)
    

    它不适用于所有带有文本的图像,但适用于大多数图像。

    2年前 0条评论