首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyTesser打破轻松验证码

使用PyTesser打破轻松验证码
EN

Stack Overflow用户
提问于 2015-02-10 14:17:08
回答 1查看 4.2K关注 0票数 3

我正在使用PyTesser来破坏一个captcha。PyTesser使用tesseract python ocr库。在将图像放入PyTesser之前,我使用了一些过滤。一步一步我的代码:输入图片是:

代码语言:javascript
复制
from PIL import Image
img = Image.open('1.gif')
img = img.convert("RGBA")
pixdata = img.load()
# Clean the background noise, if color != black, then set to white.
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixdata[x, y][0] < 90:
         pixdata[x, y] = (0, 0, 0, 255)

for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
     if pixdata[x, y][2] < 136:
         pixdata[x, y] = (0, 0, 0, 255)

for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixdata[x, y][3] > 0:
            pixdata[x, y] = (255, 255, 255, 255)


img.save("input-black.gif", "GIF")

应用此代码后,输出为:

现在,

代码语言:javascript
复制
im_orig = Image.open('input-black.gif')
big = im_orig.resize((116, 56), Image.NEAREST)

ext = ".tif"
big.save("input-NEAREST" + ext)

在此代码片段之后,输出图像为:

最后,当我应用这个的时候

代码语言:javascript
复制
from pytesser import *
image = Image.open('input-NEAREST.tif')
print image_to_string(image)

我正在获取输出%/ww

请帮我找出正确的结果。

如果我尝试处理这些图像,此代码可以成功地识别字母。

EN

回答 1

Stack Overflow用户

发布于 2018-09-29 02:27:44

在执行captcha识别器之前,您需要执行一些基本的形态学图像操作来删除行。尝试组合使用ndimage.binary_erosion和ndimage.binary_dilation。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28425336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档