|
im=fileRead(images_dir+"/Bin/"+Image+ext)
##Initialisation des images intermédiaires
imStrech,imDistance,imDistanceFilter,imDisInvert,imWs,imWsShowLinesOnInitImage=getSame(im),getSame(im),getSame(im),getSame(im),getSame(im),getSame(im)
##Choix Connexité du graphe
nl=NeighborList.neighborsHex2D
##Affichage de l'image des grains
fileWrite(im,Image+".png")
##Calcule de la fonction distance
print "Compute Distance function:"
print
Distance(im,nl,imDistance)
ImStretchHistogram(imDistance,0,255,imStrech)
fileWrite(imDistance,Image+"_DistanceFunction.png")
fileWrite(imStrech,Image+"_DistanceFunction_0_255.png")
##Filtage par HMaxima de la fonction distance
##Parameters HMaxima
TreshHeightMaxima=2
print "Erase lowest maxima, dynamic <=",TreshHeightMaxima
print
ImHMaxima(imDistance,nl,TreshHeightMaxima,imDistanceFilter)
##Calule du watershed de la fonction distance
print "Compute watershed in inverse Filter Distance function:"
print
arithInvertImage(imDistanceFilter,imDisInvert)
ImWatershed(imDisInvert,nl,imWs)
ImCompare_ssi(imWs,compareOp.Equal,255,127,im,imWsShowLinesOnInitImage)
fileWrite(imWsShowLinesOnInitImage,Image+"_WsOfDistanceFunctionFilter.png")
|