我正在使用AI设置新的发票提取方法,我能够从发票图像中识别“总计” /“公司详细信息”,但需要帮助,通过指定区域来从发票图像中识别的特定区域提取数据在图像中(Xmin,Xmax,Ymin,Ymax)?
答案 0 :(得分:0)
您好像是新鸟,所以让我帮助您快速了解关键字中使用的术语。
OCR是光学字符识别的一个概念 Tesseract是用于OCR的特殊库处理。 OpenCV帮助图像处理库帮助进行对象检测和识别。
是的,您可以使用tesseract库从图像中提取超过300dpi的文本 但是在此之前,如果文本的字体非常新或系统未知,则应使用该字体训练tesseract模型。
请记住,如果您能够在调用tesseract之前对文本进行盒装图像处理,那么它将更加准确。
某些单词-盒子图像,dpi会创建警报,但这是您工作的关键概念。
我的建议是,如果您想从图像中提取数字,请分步进行。
通过增强图像质量来处理图像。
检测要提取的区域。
找到轮廓和区域。
将其传递到箱型图像编辑器并调整参数
最后将它交给Tesseract。
答案 1 :(得分:0)
AWS最近启动了一项名为Textract的服务,该服务完全可以实现您想要实现的目标。
您可以提供图像,PDF和Excel文件,它可以提取任何文本并将其转换为对象。我尚未使用该服务,但计划在周末使用。
下面的Python示例:
import boto3
# Document
s3BucketName = "ki-textract-demo-docs"
documentName = "simple-document-image.jpg"
# Amazon Textract client
textract = boto3.client('textract')
# Call Amazon Textract
response = textract.detect_document_text(
Document={
'S3Object': {
'Bucket': s3BucketName,
'Name': documentName
}
})
#print(response)
# Print detected text
for item in response["Blocks"]:
if item["BlockType"] == "LINE":
print ('\033[94m' + item["Text"] + '\033[0m')