나는이 하나 같이 3D CAPTCHA을 생성 할 파이썬 스크립트를 작성하려합니다 : 생성하는 3D CAPTCHA [그림]
내가 어떤 그래픽 라이브러리를 사용할 수 있습니까?
출처 : ocr-research.org.ua
나는이 하나 같이 3D CAPTCHA을 생성 할 파이썬 스크립트를 작성하려합니다 : 생성하는 3D CAPTCHA [그림]
내가 어떤 그래픽 라이브러리를 사용할 수 있습니까?
출처 : ocr-research.org.ua
나는 당신이 위의 무엇을위한 풀 3D 라이브러리를 귀찮게 것입니다 확실하지 않다. 3D 점의 행렬을 생성하고, PIL과 같은 텍스트를 생성하고, 그 위에 스캔하여 그리드의 어느 점이 발생하는지 확인하고, 임의의 카메라 각도를 선택한 다음 점을 2D 이미지로 투영하고 PIL로 그릴 수 있습니다. 최종 이미지.
말하기를 ... 당신은 자신이 3D 수학을하고 싶지 않다면 VPython을 사용할 수 있습니다.
"3D 글꼴 행렬을 어떻게 생성합니까?" –
이것은 단지 튜플의 목록 일 것입니다 - 각 튜플은 x, y 및 z를 나타내는 3 개의 숫자를가집니다. –
RobertW : 3D 그래픽에 대한 사전 지식이 없으면이 모든 것을 시도해 볼 수 있기 전에 readnig가 필요합니다. – Joey
OpenGL 용 Python 바인딩 인 http://pyopengl.sourceforge.net/을 사용하십시오.
PIL을 사용하여 검은 색 표면에 흰색 텍스트의 2D 이미지를 만듭니다. 여기에서 3D 그리드를 만들면 색이 흰색 인 점의 z를 늘릴 수 있습니다. 은 z = 색상 값으로 설정 될 수 있으므로 이미지를 흐리게 처리하면 z 방향에서 실제 커브를 얻을 수 있습니다.
이 지점에서 OpenGL 삼각형을 만들고 렌더링하는 동안 와이어 프레임 모드를 사용하십시오.
이미지로 OpenGL 버퍼를 가져옵니다 (예 : http://python-opengl-examples.blogspot.com/2009/04/render-to-texture.html).
충분한 동기 부여가 주어지면이 작업을 직접하고 싶습니다.) –
OpenGL을 사용하여 렌더링 할 때 고려해야 할 또 다른 바인딩은 pyglet입니다. 가장 좋은 점은 하나의 다운로드에 불과하다는 것입니다. 나는 그것이 당신이 Anurag의 철자를 구현하는데 필요한 모든 것을 포함하고 있다고 생각합니다.
나는 당신이하려고하는 것이 정확히 3d 그래픽에서의 첫 번째 간단한 프로젝트는 아니라는 점에주의 할 것입니다. 이것이 OpenGL에 처음 노출 된 경우 NeHe Tutorials과 같은 일련의 자습서와 OpenGL website의 다른 도움말을 고려하십시오.
많은 접근법이 있습니다. 개인적으로 ImageDraw의 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')
은 분명히 축을 제거 할 수있는 약간의 작업 변화 시야각, 등등 그냥 다른 질문
있다 :이다 3 차원 captcha ocr에 열심히? – RMAAlmeida
훨씬 더 세게. 자세한 정보는 '소스'를 읽어보십시오. –
오, 아니, 누군가가 정말로 그것을 티백이라고 부릅니까 ?? –