如何提高OCR的准确度?
我使用 pyocr 来调用 tesseract二进制文件, wand 将pdf转换为Image,然后再使用 Pillow 处理OCR图像。
已附上所有图片
我觉得这是可以完成的最好的预处理。
imgf = img.convert('RGB') #to draw a line in between
draw = Draw(imgf)
x,y = imgf.size
eX,eY = 20,800
box = (x/2 - eX/2, y/2 - eY/2, x/2 + eX/2, y/2 + eY/2)
draw.ellipse(box, fill=0)
del draw
im2 = imgf.filter(ImageFilter.MinFilter(1)) #filter
im2 = im2.filter(ImageFilter.SMOOTH_MORE)
im2 = im2.filter(ImageFilter.SMOOTH_MORE)
for img in req_image: # OCR
txt = tool.image_to_string(
im2,
lang=lang,
builder=pyocr.builders.DigitBuilder()
)
print text
图像最初是从PDf中裁剪出来的,然后转换为灰度,然后是上面的代码来处理它。
我在两者之间添加了一行,发现它大大提高了准确性(感觉它会起作用)
1 Accurate 2 Accurate 3 Inaccurate Returns 6563 8 1 4 Greyscale image from pdf
答案 0 :(得分:0)
微软发布了一个名为认知服务的api。您可以使用它来进行图像识别。
https://azure.microsoft.com/en-us/services/cognitive-services/