#! /usr/bin/env python # -*- coding: utf-8 -*- import numpy import scipy import pylab import pymorph from scipy import ndimage #open image f=scipy.misc.imread('galeao.tif') #show image pylab.imshow(f) pylab.gray() pylab.show() #top-hat b = pymorph.sedisk(r=5, dim=2, metric="euclidean", flat=True, h=0) th=pymorph.openth(f, b) tmp1 = pymorph.addm(th, 150) pylab.imshow(th) pylab.gray() pylab.show() #adaptive thresholding bin = pymorph.threshad(th,30) pylab.imshow(pymorph.overlay(f, bin)) pylab.gray() pylab.show() #Thining m1 = pymorph.thin(bin) pylab.imshow(pymorph.overlay(f, m1)) pylab.gray() pylab.show() #Pruning m2 = pymorph.thin(m1, Iab=pymorph.endpoints()) pylab.imshow(pymorph.overlay(f, m2)) pylab.gray() pylab.show() #Area Open m = pymorph.areaopen(m2,1000,Bc=pymorph.sebox()) pylab.imshow(pymorph.overlay(f, m)) pylab.gray() pylab.show() #Reconstruction g=pymorph.infrec(pymorph.gray(m),th) pylab.imshow(g) pylab.gray() pylab.show() #Final thresholding final = pymorph.threshad(g,20) m = pymorph.areaopen(m2,1000,Bc=pymorph.sebox()) pylab.imshow(pymorph.overlay(f, final)) pylab.gray() pylab.show()