예제 #1
0
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()
예제 #2
0
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)
예제 #3
0
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()
예제 #4
0
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()
예제 #5
0
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()