#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
import numpy as np
# legge una immagine da un file
img = cv2.imread("tratto.jpg",1)
# Convert BGR to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# definisce un intervallo di colore nello spazio HSV
verde_min = np.array([33,96,94],np.uint8) #############################
verde_max = np.array([87,255,255],np.uint8) #############################
# soglia che prende solo l'area compresa tra i due livelli di colore
mask = cv2.inRange(hsv, verde_min, verde_max)
# cerca il centro (centroide) dell'area evidenziata
M = cv2.moments(mask, 0)
cx,cy = int(M['m10']/M['m00']), int(M['m01']/M['m00'])
# disegna un cerchio:
# (immagine, centro, raggio, colore(BGR), spessore)
cv2.circle(img,(cx,cy),20,(0,0,255),2)
## Visualizza le immagini nelle varie finestre
cv2.imshow('Immagine caricata dal file...',img)
cv2.imshow('mask',mask)
# attende che venga premuto un tasto
k = cv2.waitKey(0)
# ...chiude tutte le finestre
cv2.destroyAllWindows()
lunedì 4 maggio 2015
Esercizio 4 - Color detection
Questo esercizio ha lo scopo di individuare un colore prestabilito in una immagine e calcolarne il "centro", o più correttamente il "centroide".
Per compiere questa operazione si utilizza lo "spazio di colore HSV".
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento