Ho bisogno di trovare i quadrati in un'immagine usando OpenCV (nessun problema con Matlab o qualsiasi altro, in genere quello che mi aspetto sono alcune idee).
Considera l'immagine di prova qui sotto:
Devo trovare accuratamente quei quadrati colorati nell'immagine sopra (non le lunghe strisce bianche).
Cosa ho fatto :
Ho applicato il metodo comune (fornito con i campioni OpenCV), ovvero trovare contorni in tutti i piani di colore, approssimarlo e verificare il numero di elementi = 4. Funziona fino a un certo punto, vengono rilevati pochi quadrati, specialmente quelli scuri.
Il passo successivo che ho fatto è stato la previsione . cioè questa disposizione è fissa . Quindi, se alcuni vengono ottenuti, posso prevederne altri. Ha anche funzionato in qualche misura. Ma la precisione era pessima.
Ma penso che la previsione non sia un buon metodo qui e non fornisce sempre risposte accurate come indicato dal primo passo.
Ciò che di cui ho bisogno :
1) Esistono altri metodi migliori per rilevare questi quadrati in modo più accurato? O più metodi?
Un punto importante è che qui il tempo non è un problema . L'algoritmo può essere lento, non importa. Ma l'accuratezza è il criterio principale.
A volte, le immagini possono essere molto più sfocate.
E uno dei maggiori problemi che ho riscontrato è che alcuni quadrati hanno un colore quasi simile a quello dello sfondo (controlla la colonna 3 primo e secondo quadrato).
In cerca di idee, grazie in anticipo
AGGIORNARE :
Di seguito è riportato il risultato più accurato che ho ottenuto:
Ovviamente, l'immagine del risultato viene leggermente ridimensionata.
AGGIORNAMENTO 2:
Ho fornito una soluzione molto migliore nella mia risposta di seguito: https://dsp.stackexchange.com/a/7526/818