请将这个图片下载后,保存为 sample.png
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('sample.png'),lang='eng')
print(text)
尝试另外一段代码
import cv2
import pytesseract
img = cv2.imread("/tmp/sample.png")
gry = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thr = cv2.adaptiveThreshold(gry, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY_INV, 23, 100)
bnt = cv2.bitwise_not(thr)
txt = pytesseract.image_to_string(bnt, config="--psm 6")
res = ''.join(i for i in txt if i.isalnum())
print(res)
结果 ee ,差太远了。
没有任何结果,请问哪位可以提取这里面的字符?
运用了形态学操作中的腐蚀来去除经过处理之后网格所形成的白点,但是还是有一些误差,第三个字符'
5
' tesseract 会识别为'S
',正在想办法改进算法。处理后的图片:
腐蚀前:
腐蚀后:
输出:
注:
这段代码中运用了光学字符识别(OCR)引擎Tesseract,代码中的
pytesseract.pytesseract.tesseract_cmd
参数根据Tesseract安装位置更改。