我正在测试的图像如下所示。
我是OCR的新手,想知道我可以应用哪种技术来尝试提高python中方法的准确性,可能使用PIL但是对建议开放。使用原始图像时,根本不会识别任何字符。
道歉,如果这个问题有点开放,但正如我所提到的,一般都非常了解OCR。
编辑1:根据建议,这里是我到目前为止的代码:
from PIL import Image
import cv2
import pytesseract
image_file=Image.open('rsTest.jpg')
image_file=image_file.convert('1')
image_file.save('PostPro.jpg',dpi=(400,400))
image_file.show
new_image=Image.open('PostPro.jpg')
print pytesseract.image_to_string(new_image)
答案 0 :(得分:0)
你的影像有多常数?如果它们看起来都像你发布的那个,你首先需要做的就是裁剪它:
#Since you are importing cv2
image_file=cv.imread('rsTest.jpg')
crop_image = full_image[start_y:end_y,start_x:end_x]
然后你可以保持白色(这是字母,然后将其他所有内容变为黑色。
crop_image[np.where((crop_image != [255,255,255]).all(axis = 2))] = [0,0,0]
然后将OCR与tesseract一起使用
img = Image.fromarray(crop_image)
captchaText = pytesseract.image_to_string(img)
您需要导入cv2,numpy,pytesseract和PIL。