def testOpenCloseWithBinaryArray(): # Création de l'image img1 = f.genPerfectSquareWithArgs((16, 16), 3, 10, 5, 5) # Créons un troue que la fermeture devrait fermer et l'ouverture agrandir img1[4][11] = 0 # Créons une excroissance que la fermeture devrai adoussir img1[8][13] = 1 #print (img1) print("Image de départ : ") plt.imshow(img1, cmap='gray', vmin=0, vmax=1) plt.show() # Fermeture img1Close = f.fermeture(img1) print("Fermeture : ") plt.imshow(img1Close, cmap='gray', vmin=0, vmax=1) plt.show() # Ouverture img1Open = f.ouverture(img1) print("Ouverture : ") plt.imshow(img1Open, cmap='gray', vmin=0, vmax=1) plt.show()
def demoOuvertureBasique(): img = np.zeros((8, 8)) img[2:6, 2:6] = 1 elemStruct = np.ones((3, 3)) imgOpen = func.ouverture(img, elemStruct) #display print("img :\n", img) print("\nO(img) :\n", imgOpen)
def demoOuvertureBasiquePlot(): img = np.zeros((8, 8)) img[2:6, 2:6] = 1 elemStruct = np.ones((3, 3)) imgOpen = func.ouverture(img, elemStruct) #display print("img :\n") plt.imshow(img, cmap='gray', vmin=0, vmax=1) plt.show() print("O(img) :\n") plt.imshow(imgOpen, cmap='gray', vmin=0, vmax=1) plt.show()
def testEroDilaOpenCloseWithRealImage(fname): image = Image.open(fname).convert("L") print("Image de départ :") plt.imshow(image, cmap='gray', vmin=0, vmax=255) plt.show() # Conversion en numpy.array arr = np.asarray(image) carr = np.copy(arr) # Conversion en image binaire carr = f.threshold_low(carr, 128) print("Image binarisée :") plt.imshow(carr, cmap='gray', vmin=0, vmax=1) plt.show() # Erosion de l'image imgErosion = f.erosion3x3(carr) print("Image érodée :") plt.imshow(imgErosion, cmap='gray', vmin=0, vmax=1) plt.show() # Dilatation de l'image imgDilatation = f.dilatation3x3(carr) print("Image dilatée :") plt.imshow(imgDilatation, cmap='gray', vmin=0, vmax=1) plt.show() # Ouverture de l'image imgOuverture = f.ouverture(carr) print("Image Ouverte : ") plt.imshow(imgOuverture, cmap='gray', vmin=0, vmax=1) plt.show() # Fermeture d'une image imgFermeture = f.fermeture(carr) print("Image fermée : ") plt.imshow(imgFermeture, cmap='gray', vmin=0, vmax=1) plt.show()
def testFinalPart1(): file2 = './ressource/bin2.png' fname = file2 image = Image.open(fname).convert("L") print("Image de départ :") plt.imshow(image, cmap='gray', vmin=0, vmax=255) plt.show() img = np.array(image) threshold = 124 imgBin = f.threshold_high(img, threshold) print("Image binariser avec un seuil de ", threshold) plt.imshow(imgBin, cmap='gray', vmin=0, vmax=1) plt.show() elemStruct = np.ones((7, 7)) imgDilate = f.dilatation(imgBin, elemStruct) print("dilatation : ") plt.imshow(imgDilate, cmap='gray', vmin=0, vmax=1) plt.show() imgErosion = f.erosion(imgBin, elemStruct) print("erosion : ") plt.imshow(imgErosion, cmap='gray', vmin=0, vmax=1) plt.show() imgOpen = f.ouverture(imgBin, elemStruct) print("Open : ") plt.imshow(imgOpen, cmap='gray', vmin=0, vmax=1) plt.show() imgClose = f.fermeture(imgBin, elemStruct) print("Close : ") plt.imshow(imgClose, cmap='gray', vmin=0, vmax=1) plt.show()