python - 生成 3D 验证码 [图片]

标签 python graphics captcha

我想编写一个 Python 脚本来生成 3D CAPTCHA像这个: teabag captcha

我可以使用哪些图形库?

来源:ocr-research.org.ua

最佳答案

有很多方法。我会使用 ImageDraw 在 Python 图像库中亲自创建图像的 draw.text,转换为 NumPy数组(usint NumPy 的 asarray )然后用 Matplotlib 渲染. (需要 Matplotlib maintenance package )。

完整代码(在 2.5 中):

import numpy, pylab
from PIL import Image, ImageDraw, ImageFont
import matplotlib.axes3d as axes3d

sz = (50,30)

img = Image.new('L', sz, 255)
drw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 20)

drw.text((5,3), 'text', font=font)
img.save('c:/test.png')

X , Y = numpy.meshgrid(range(sz[0]),range(sz[1]))
Z = 1-numpy.asarray(img)/255

fig = pylab.figure()
ax = axes3d.Axes3D(fig)
ax.plot_wireframe(X, -Y, Z, rstride=1, cstride=1)
ax.set_zlim((0,50))
fig.savefig('c:/test2.png')

alt text

显然还有一些工作要做,消除轴、改变视角等。

关于python - 生成 3D 验证码 [图片],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960377/

相关文章:

python - sre_constants.error : multiple repeat at position 2

python - 为什么从服务器接收到所有数据后客户端套接字连接没有关闭?

c++ - fatal error LNK1120 : 1 unresolved externals

android - 如何在不填充孔的情况下填充包含孔的 Android 路径?

python - 如何检查 Django Queryset 是否返回多个对象?

python - 如何从发送到 beautifulSoup 类的文件中删除 html 元素?

java - 在android中删除位图

弯曲/扭曲图像的PHP函数

ruby - 带有验证码的表单上的 cucumber 功能

captcha - 检测何时未加载reCaptcha