2

我想将以下图像解码为文本: 在此处输入图像描述

我已经尝试将Tesseract OCR用于我的目的,但到目前为止我并不幸运。

这是我的代码:

import pytesseract
import sys
import argparse

try:
    import Image
except ImportError:
    from PIL import Image
from subprocess import check_output


def resolve(path):
    check_output(['C:\Program Files\ImageMagick-7.0.9-Q16\convert.exe', path, '-resample', '600', path])
    return pytesseract.image_to_string(Image.open(path))

if __name__=="__main__":
    argparser = argparse.ArgumentParser()
    argparser.add_argument('path',help = 'image path at OCR')
    args = argparser.parse_args()
    path = args.path
    print('Resolving the image...')
    captcha_text = resolve(path)
    print('Result: ',captcha_text)`

这是我的程序的输出:

C:\Users\Foussy\PycharmProjects\03_Imagedecoder>python main.py C:\Users\Foussy\Pictures\4570502--437826.jpeg
Resolving the image...
Result: 

看来我的程序无法解码图片。我试图用更“明显”的文本解码图像,它做得很好。我还尝试了其他几个此类验证码的示例,但均未成功。你建议我做什么?

问题是,最后,我想编写一个程序来自动解码这样的图像,所以除非有可靠的方法以使 Tesseract 兼容的方式自动修改图像,否则我看不到任何其他方法解决这个问题。如果有人知道某个图书馆或其他东西......会有所帮助。

4

1 回答 1

1

这个 python 库可能会有所帮助: https ://pypi.org/project/captcha-solver/

例子:

from captcha_solver import CaptchaSolver

solver = CaptchaSolver('twocaptcha', api_key='2captcha.com API HERE')
raw_data = open('captcha.png', 'rb').read()
print(solver.solve_captcha(raw_data))
于 2019-12-13T14:14:05.447 回答