1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
import PIL
import ImageOps
import Image
import os
import ImageDraw
import numarray as N
import numarray.numarraycore as _nc
import numarray.generic as _gen
import numarray.linear_algebra as _la
import numarray.nd_image as _nd
import numarray.convolve as _cv
import numarray.image as Im
import morph as M
def rotation(t,rot): #fonction permettant la rotation du masque
for i in range(0,rot):
t=t.flat
b=[]
b.append(t[3])
b.append(t[0])
b.append(t[1])
b.append(t[6])
b.append(t[4])
b.append(t[2])
b.append(t[7])
b.append(t[8])
b.append(t[5])
t=N.array(b)
t.setshape(3,3)
return t
Image1=Image.open(fp="c:\in.bmp")
image1=ImageOps.grayscale(Image1)
#image1=ImageOps.invert(image1)
largeur,hauteur=image1.size
im=image1.getdata()
a=N.array(im)
a.setshape((hauteur,largeur))
a1=Im.threshhold(a,high=75)
i=0
while i<4:
for j in range(0,8):
LSkel=N.array([[1,1,1],[*,1,*],[0,0,0]])
Lskel=rotation(LSkel,1)
a1=_cv.convolve2d(a1,LSkel)
i+=1
image3=Image.new("L",(a.shape[1],a.shape[0]))
image3.putdata((a1.flat))
image3.save(fp="c:/out.bmp")
print 'ok' |
Partager