Sto seguendo un corso di visione al computer e ho questo esercizio: scrivere un programma che, data un'immagine della mano, sia in grado di riconoscere se la mano è aperta, chiusa, in un pugno o in possesso di una posizione "ok", usando solo il tecniche fornite finora (pixel 4/8 connesso, regione connessa, ricerca di contorni, ricerca di buchi, proprietà blob come centroide, area, perimetro, eccentricità, momenti dell'immagine, trasformazione dell'immagine come inversione / potenza / log / correzione gamma / correzione del contrasto, istogramma calcolo ed equalizzazione).
L'ho fatto con alcune proprietà di base del blob (la mano chiusa ha una bassa eccentricità, "ok" ha un buco, la mano aperta ha una grande differenza tra l'area dell'ellisse inscritta nel blob e la stessa area del blob con una bassa eccentricità) .. Sembra funzionare ma la prima immagine è un po 'problematica.
Penso che ci potrebbe essere qualcosa di più per rendere un algoritmo più robusto. Forse una specie di proprietà momentanea? Alcuni assi BLOB / orientamento / punti estremi potrebbero essere d'aiuto?
Immagini di test PS: