精神残废 2022-03-18 02:00 采纳率: 70.8%
浏览 300
已结题

tesseract5.0验证码识别,四位数字,反回结果是小方块或者空,Linux、win系统都这样

python3.7 3.9 3.10 pytesseract0.3.4 0.3.5 0.3.6 0.3.9 tesseract 3 4 5
换电脑,换系统,换软件版本,换库版本,换语言包,换图片,不处理和处理图片都试过了,全都是小方块

img

img

img

img

识别结果写入TXT

img

import pytesseract
import numpy as np
import cv2.cv2 as cv2
img=cv2.imread('photo2051001204417.png')
img=img[2: 39, 3: 128]
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
thresh,yzm = cv2.threshold(gray,200,255,cv2.THRESH_BINARY)
# yzm:表示需要操作的数组
# 160:表示阈值
# 255 表示最大值
# 降噪
yzm = cv2.morphologyEx(yzm,cv2.MORPH_CLOSE,np.ones(shape=(2,2)))
# 先膨胀 让黑色遭点消失,再侵蚀让黑色加粗
# dilate = cv2.dilate(yzm,np.ones(shape=(2,2)))
# yzm = cv2.erode(dilate,np.ones(shape=(3,3)))
cv2.imwrite('new_img.png',yzm)

cv2.imshow('window1',yzm)
cv2.waitKey(1000)
cv2.destroyWindow('window1')
result=pytesseract.image_to_string(yzm)
print(result)



用了很多方法处理图片都不行,是不是tesseract本身有问题?

  • 写回答

3条回答 默认 最新

  • 陈年椰子 2022-03-18 08:38
    关注

    应该是左、上边影响了, 去掉了就能识别了。

    img

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月22日
  • 修改了问题 3月22日
  • 修改了问题 3月21日
  • 修改了问题 3月21日
  • 展开全部