Pytesseract OCR在captcha imag上未返回正确结果

2024-04-29 03:10:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是tesseract 4.0.0-beta.1

我有下面的图像

ocr image

我用opencv转换了这个图像

converted image

img = cv2.imread(image, cv2.IMREAD_GRAYSCALE)
img = cv2.resize(img, None, fx=5, fy=5, interpolation=cv2.INTER_LINEAR)
img = cv2.medianBlur(img, 9)
_, img = cv2.threshold(img, 185, 255, cv2.THRESH_BINARY)

我的特塞拉特

tesseract image.png stdout -l eng-best --oem 1 --psm 7

获取结果:NVRG nk

但结果应该是:nvRGnk


Tags: 图像imagenoneimgcv2opencvocrfx
1条回答
网友
1楼 · 发布于 2024-04-29 03:10:06

从你的转换图像开始,只需要再过滤一点 enter image description here

nvRGnk

import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

image = cv2.imread('2.png',0)
image = 255 - image
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
close = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=2)
dilate_kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (2,2))
dilate = cv2.dilate(close, dilate_kernel, iterations=1)
result = 255 - dilate 

data = pytesseract.image_to_string(result, lang='eng',config=' psm 13')
print(data)

cv2.imshow('result', result)
cv2.waitKey()

相关问题 更多 >