我想用 Pytesseract 自动解决像这样的验证码(所有验证码都是红色背景和白色字母)
我一直在尝试处理图像以使 Pytesseract 能够读取它,但没有成功。很高兴收到您处理此图像的想法。这是我的代码:
import cv2
import pytesseract
tessdata_dir_config = '--tessdata-dir "C:\\Program Files\\Tesseract-OCR\\tessdata"'
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
img = cv2.imread("captcha.png")
img = cv2.resize(img, None, fx=2, fy=2)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
adaptive = cv2.adaptiveThreshold(
gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 85, 20)
print((pytesseract.image_to_string(img, config=tessdata_dir_config)).strip())
print((pytesseract.image_to_string(gray, config=tessdata_dir_config)).strip())
print((pytesseract.image_to_string(adaptive, config=tessdata_dir_config)).strip())
cv2.imshow("Captcha", img) # Output: IMQW
cv2.imshow("Gray", gray) # Output: IMOW
cv2.imshow("Adaptive", adaptive) # Output: IMOW,
cv2.waitKey(7000)Run Code Online (Sandbox Code Playgroud)
我正在尝试获取图像中的四个坐标,以便可以对其应用透视变换。我需要一个四边多边形,它不会裁剪图像中的任何内容并覆盖最小区域。我尝试了一些像“minAreaRect()”这样的函数,但它给出了最小面积矩形,而不是使用四边多边形的可能最小面积。为了您的理解,我提供测试图像。 测试图像 -> 将内容与四边形多边形绑定,但不应丢失任何内容
我可以使用轮廓和 minAreaRect() 函数在其上绘制一个矩形,但这并不是使用四个边获得最小面积的最佳选择。我坚信,有任何可能的方法可以让我们在其上绘制一个四边多边形,以最小的面积覆盖图像上存在的所有内容。
谢谢...
我正在寻找一种能够识别身份证/护照/驾驶执照中的字段的 OCR 解决方案(图书馆/服务/API)。最好是付费云服务。
编辑:澄清一下,我正在寻找任何能够检测到的解决方案(开源与否):名字、姓氏、dob 等...
CTC丢失错误InvalidArgumentError:没有足够的时间进行目标转换序列