【问题标题】:How to detect and extract text from the kyc document using opencv python?如何使用opencv python从kyc文档中检测和提取文本?
【发布时间】:2021-06-06 16:37:25
【问题描述】:

我有一张 aadhar 卡的图片。我想检测 aadhar 卡中的文本。我已经使用 EAST 文本检测算法来检测文本,但我找不到好的结果。现在我正在尝试其他方法,例如

  1. 将图像转换为灰度

  2. 应用阈值

  3. 寻找轮廓

    image11=cv2.imread('1.jpg')
    gray_image=cv2.cvtColor(image11, cv2.COLOR_BGR2GRAY)
    threshed=cv2.adaptiveThreshold(gray_image,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
                              cv2.THRESH_BINARY,11,2)
    ##  Morph-op to remove noise
    kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (11,11))
    morphed = cv2.morphologyEx(threshed, cv2.MORPH_CLOSE, kernel)
    cnts = cv2.findContours(morphed, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
    

但是在找到轮廓之后,下一步是什么?或任何其他方法?以便我检测到文本? .谢谢

输入图片:

【问题讨论】:

  • 您的标签中有pytesseract,所以看来您通常知道该怎么做!?首先,您是否只想从三个显示的框中提取文本?你只有这一张图片吗?手动裁剪框并使用config='--psm 6' 运行pytesseract,可能两次,第一次使用英语,第二次使用一些梵文特定的traineddata。如果您想从多个图像中提取这些框:所有图像都完全对齐吗?再次,为这些框使用硬编码值。对于一些更随意的图像,提供更多的输入示例。
  • 附带说明:您是否可以提供他人的个人数据?这看起来不像是“John Doe”。
  • 是的,我已经使用 pytesseract 从 aadhar 卡中提取数据,但我无法获得好的结果。我不只尝试这三个框,我想提取所有英文单词,例如名称、数字、出生日期和性别。我有很多 aadhar 图片。我只想问,如何在文本周围制作边界框,例如 aadhar 卡号(只有一个框)?
  • 或者请告诉我任何与 aadhar 卡片文本检测和提取相关的研究论文。
  • 查看这些链接link1link2link3link4

标签: python image-processing python-tesseract opencv-python


【解决方案1】:

使用您获得的以下文档。

https://pypi.org/project/pan-aadhar-ocr/

from pan_aadhar_ocr import Pan_Info_Extractor, Aadhar_Info_Extractor
extractor = Aadhar_Info_Extractor()
result = extractor.info_extractor('full.jpg','full.jpg')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多