Mercurial > ift6266
view pycaptcha/transformations.py @ 121:4a29910eae93
Maintenant, les ratures sont fabriquees a partir de 1 qui ont ete transformes pas mal. Les ratures peuvent maintenant etre plus d'une. Proba 0.15 d'effectuer une rature
author | SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca> |
---|---|
date | Thu, 18 Feb 2010 10:53:36 -0500 |
parents | 4775b4195b4b |
children |
line wrap: on
line source
import Numeric, Image #""" Transforme une image PIL en objet numpy.array et vice versa""" def image2array(im): #""" image vers array numpy""" if im.mode not in ("L", "F"): raise ValueError, "can only convert single-layer images" if im.mode == "L": a = Numeric.fromstring(im.tostring(), Numeric.UnsignedInt8) else: a = Numeric.fromstring(im.tostring(), Numeric.Float32) a.shape = im.size[1], im.size[0] return a def array2image(a): #""" array numpy vers image""" if a.typecode() == Numeric.UnsignedInt8: mode = "L" elif a.typecode() == Numeric.Float32: mode = "F" else: raise ValueError, "unsupported image mode" return Image.fromstring(mode, (a.shape[1], a.shape[0]), a.tostring())