lunedì 4 maggio 2015

Esercizio 5 - contorni

L'esercizio che segue utilizza la funzione cv2.Canny() per ottenere i contorni da un'immagine, occorre fornire in ingresso un'immagine in scala di grigi.
L'immagine prodotta sarà in bianco e nero.
Nella parte seguente del codice la funzione cv2.dilation() allarga le zone bianche utilizzando una matrice ausiliare come se fosse un "pennarello" con cui ripassare l'immagine...

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import cv2
import numpy as np

img = cv2.imread("test2.jpg",1)  # legge una immagine da un file
cv2.imshow('Immagine caricata dal file.',img) # mostra l'immagine in una finestra

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # converte l'immagine caricata in una in scala di grigi...

# estrae i controni dall'immagine
edges = cv2.Canny(gray_image,100,200)  

# ripassa le parti bianche inspessendole
kernel = np.ones((5,5),np.uint8) # matrice-"pennarello" con cui eseguire il ripasso...
dilation = cv2.dilate(edges,kernel,iterations = 1) # funzione di dilatazione

cv2.imshow('Controni',edges) # mostra i contorni in una finestra
cv2.imshow('Controni Allargati',dilation) # mostra il tratto inspessito

k = cv2.waitKey(0) # attende che venga premuto un tasto
cv2.destroyAllWindows() # ...chiude tutte le finestre

Nessun commento:

Posta un commento