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
| def ThinSkeleton(img):
i=0
LSkel=N.array([[1,1,1],[0.5,1,0.5],[0,0,0]]) #noyaux
for h in range(1,4): #faire 4 fois
if i ==0: #Si c'est la premiere fois
img=Im.threshhold(img, high=128) #prendre les data de limage originale
Result=_cv.convolve2d(img,LSkel,mode='constant',cval=0)# les convoluer avec le noyaux
Result=N.array(Result,'Int8') #Stocker le resultat pour plus tard.
print "i=1"
i+=1
else: #Sinon
for j in range(1,7): #Pendant 7 fois
LSkel=rotation(LSkel,1) #faire tourner le noyaux de 45°
Result=_cv.convolve2d(Result,LSkel,mode='constant',cval=0) #convoluer le resultat précédent.
Result=N.array(Result,'Int8')
ResultImg=Result # mettre le resultat dans une autre variable pour garde Result telquel
Thin=Image.new("L",(img.shape[1],img.shape[0]))
Thin.putdata((ResultImg.flat)) #Créer l'image.
Thin.save(fp="c:/image_test_souris//Thin"+str(h)+str(j)+".bmp")
Thin=Image.new("L",(img.shape[1],img.shape[0]))
Thin.putdata((Result.flat))
Thin.save(fp="c:/image_test_souris//Thin.bmp") |
Partager