如何解决pytesseract image_to_string函数根本不准确
我的代码
for index,img in enumerate(data): # data is list of base64 decoded strings
b64 = base64.b64decode(bytes(img[22:],encoding='utf-8'))
raw = BytesIO(b64)
im = Image.open(raw).convert('LA')
pixels = im.load()
width,height = im.size
for x in range(width):
for y in range(height):
if pixels[x,y][0] > 100: pixels[x,y] = (255,255)
else: pixels[x,y] = (0,255)
print(pytesseract.image_to_string(im,config='tessedit_char_whitelist=1234567890plus?'))
输出:Te Ys
我可以做些什么来使它更好,我尝试在配置中使用从0到13的每个psm和-c标志
解决方法
此代码对我来说很好,但未检测到空格。
img = ~cv2.imread("18.png",0)
rows,cols = img.shape[:2]
# M = np.float32([[1,25],[0,1,15]])
# img = cv2.warpAffine(img,M,(cols*2,rows*2),borderValue=(255,255,255))
custom_oem_psm_config = r'--oem 3 --psm 3 -c tessedit_char_whitelist="1234567890plus?"'# -c preserve_interword_spaces=1'
print(pytesseract.image_to_string(img,config=custom_oem_psm_config))
输出:
18plus16?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。