giovedì 7 maggio 2015

Esercizio - 10 - Template Matching

import cv2
import numpy as np

img = cv2.imread('stadio_folla2.jpg',1) # carica l'immagine
imgBN = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # converte l'immagine letta in una in scala di grigi...

template = cv2.imread('stadio_persona.jpg',01) # carica l'immagine del template
templateBN = cv2.cvtColor(template, cv2.COLOR_BGR2GRAY) # converte l'immagine letta in una in scala di grigi...
w, h = templateBN.shape [::-1] # ottiene informazioni sulla larghezza e sull'altezza del template

# Applica il template Matching (con il metodo TM_CCOEFF_NORMED)
res = cv2.matchTemplate(imgBN,templateBN,cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

print ("valore massimo del matching: "+str(max_val))

# Disegna un rettangolo intorno al template trovato
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(img,top_left, bottom_right, [255,255,0], 2)

cv2.imshow("Immagine Originale",img)
cv2.imshow("template",template)
cv2.imshow("risultato matching",res)

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

Nessun commento:

Posta un commento