Riconoscere spot luminoso

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Riconoscere spot luminoso

Messaggio da jepessen »

Salve a tutti.

Supponiamo di avere una matrice bidimensionale, diciamo 1000x1000, contentente dei valori interi, e rappresentante i pixel di una immagine monocromatica.

Su questa immagine, ci sono impressi degli spot luminosi, in numero imprecisato (comunque ben distinti l'uno dall'altro), di luminosità che può cambiare.

Ho un rumore di fondo, per cui i pixel neri in realtà avranno un valore compreso fra 10-30, mentre i pixel degli spot luminosi avranno una luminosità che parte da circa 300 (valori di esempio), comunque molto ben distinguibili dal fondo, anche se per il rumore i pixel avranno valori simili, ma non esattamente uguali.

Esiste un modo per dare questa matrice in pasto ad una funzione, e restituire una lista con le stime dei centri e dei raggi degli spot?

L'implementazione in C me la posso fare da solo, mi servirebbe un'idea per il riconoscimento degli spot e per il calcolo di centro e raggio considerato che non sono cerchi perfetti, ad esempio avranno i bordi leggermente sfumati.

Daniele
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Avatar utente
fabiogar
Prode Principiante
Messaggi: 220
Iscrizione: venerdì 17 novembre 2006, 20:53
Località: Roma

Re: Riconoscere spot luminoso

Messaggio da fabiogar »

BEH... ci sono diversi modi per farlo...

1) utilizzare un filtro tipo edge detection, ti basta fare la differenza fra 2 pixel adiacenti,
2) Utilizzare una trasformata integrale (che poi è un filtro).

In entrambi i casi devi prevedere nel codice un modo per contare gli spot.

Ciao
Sai, questo... questo è un caso molto, molto complicato, Maude. Un sacco di input e di output. Sai, fortunatamente io rispetto un regime di droghe piuttosto rigido per mantenere la mente, diciamo, flessibile. (Drugo)
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Riconoscere spot luminoso

Messaggio da bite »

Hai visto se c'è qualcosa di già pronto nelle librerie opencv?

Diversamente, se vuoi o devi fare da te, se ne può parlare ma il discorso non è brevissimo.
Avatar utente
fabiogar
Prode Principiante
Messaggi: 220
Iscrizione: venerdì 17 novembre 2006, 20:53
Località: Roma

Re: Riconoscere spot luminoso

Messaggio da fabiogar »

In opencv

https://picoforge.int-evry.fr/cgi-bin/t ... /OpenCVDoc

sembra esserci HoughCircles che fa al caso tuo, un tutorial su come usare opencv è

http://www.cs.iit.edu/~agam/cs512/lect- ... intro.html

vedi se riesci ad ottenere un risultato così, cia' :)
Sai, questo... questo è un caso molto, molto complicato, Maude. Un sacco di input e di output. Sai, fortunatamente io rispetto un regime di droghe piuttosto rigido per mantenere la mente, diciamo, flessibile. (Drugo)
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: Riconoscere spot luminoso

Messaggio da jepessen »

Thanks. Ci darò un'occhiata.

Daniele
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti