【发布时间】:2020-12-20 20:40:41
【问题描述】:
我有这张图片: Unprocessed Image 从下面的代码中,我能够将其转换为: Processed Image
图片编号:8276 但我的代码将其读取为 776
我怎样才能成功地使我的代码能够将其读取为 8276? 我对这个图像处理/cv2/pytesseract 非常陌生,经过太多搜索才能够走到这一步。
import cv2
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'C:\Users\hamza.rana\AppData\Local\Tesseract-OCR\tesseract.exe'
image = cv2.imread('captcha.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
gray = cv2.medianBlur(gray, 3)
gray = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
filename = "{}.png".format("temp")
cv2.imwrite(filename, gray)
text = pytesseract.image_to_string(Image.open('temp.png'),config='--psm 13 --oem 3 -c tessedit_char_whitelist=0123456789')
print(text)
【问题讨论】:
标签: python python-imaging-library captcha cv2 python-tesseract