【发布时间】:2021-06-06 16:37:25
【问题描述】:
我有一张 aadhar 卡的图片。我想检测 aadhar 卡中的文本。我已经使用 EAST 文本检测算法来检测文本,但我找不到好的结果。现在我正在尝试其他方法,例如
-
将图像转换为灰度
-
应用阈值
-
寻找轮廓
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 卡片文本检测和提取相关的研究论文。
标签: python image-processing python-tesseract opencv-python