2012-03-08 10 views
6

Il mio obiettivo è quello di individuare la vena modello in foglie che caratterizzano varie specie di pianteRileva lo schema delle vene nelle foglie?

ho già fatto quanto segue:

immagine originale:

enter image description here

Dopo Adaptive soglia:

enter image description here

Tuttavia le vene non sono così chiare e ottenere distorta, C'è un modo ho potuto ottenere una migliore uscita

EDIT:

ho provato il colore della soglia miei risultati sono ancora insoddisfacenti ottengo il seguente immagine

enter image description here

Si prega di aiutare

risposta

5

Il fatto tha Se un'immagine JPEG restituirà gli artefatti del "blocco", che nell'esempio che hai pubblicato fa sì che la maggior parte delle aree quadrate attorno alle vene abbia un sacco di rumore, quindi funziona idealmente su un'immagine che non è stata sottoposta a compressione con perdita. Se ciò non è possibile, prova a filtrare l'immagine per rimuovere parte del rumore.

Le vene che si desidera estrarre hanno un colore diverso da sfondo, foglia e ombra, pertanto una determinata soglia basata sul colore potrebbe essere una buona idea. C'era un recente S.O. domanda con qualche codice che potrebbe aiutare here. Dopo di che una sorta di normalizzazione adattiva aiuterebbe ad aumentare il contrasto prima di metterlo a soglia.

[modifica]
Forse la soglia non è un passaggio intermedio che si desidera eseguire. Ho fatto quanto segue filtrando per rimuovere artefatti jpeg, facendo alcuni calcoli del canale CMYK (più ciano e nero), quindi applicando l'equalizzazione adattiva. Sono abbastanza sicuro che potresti continuare a produrre (subpixel forse) i punti di bordo usando gradienti di immagine e supressione non massima, e forse usare la luminosità in ogni punto e le proprietà della struttura delle vene (principalmente unendo una tangente) a unire i punti in linee.

Example of processed leaf image

1

Questo suona come qualcosa che ho fatto al college con le reti neurali. Le cose sulla rete neurale sono un po 'difficili, quindi non ci andrò. Ad ogni modo, i pattern sono candidati perfetti per la trasformata di Fourier in 2D! Ecco un possibile schema:

  1. Si dispone di dati di formazione e dati di input
  2. I suoi dati è rappresentata come una di Fourier 2D trasformare
  3. Se il database è di grandi dimensioni è necessario eseguire PCA sui risultati trasformare convertire uno spettrogramma 2D a uno spettrogramma 1D
  4. Confrontare la distanza di hamming testando lo spettro (dopo PCA) di 1 immagine con tutte le immagini nel set di dati.

È necessario prevedere il 70% di riconoscimento con tali metodi primitivi a condizione che le immagini abbiano approssimativamente la stessa rotazione. Se le immagini non hanno la stessa rotazione, potrebbe essere necessario utilizzare SIFT. Per ottenere un riconoscimento migliore occorrono set di allenamento più intelligenti come un modello di Markov nascosto o una rete neurale. La verità è che ottenere buoni risultati per questo tipo di problema potrebbe essere un bel po 'di lavoro.

Partenza: https://theiszm.wordpress.com/2010/07/20/7-properties-of-the-2d-fourier-transform/

+0

Informazioni davvero interessanti proverò a risolverlo – vini

4

In passato ho fatto buone esperienze con il bordo di rilevamento algoritmo difference of Gaussian. Che funziona fondamentalmente in questo modo: Si sfoca l'immagine due volte con lo gaussian blurr algorithm ma con diversi raggi di sfocatura. Quindi si calcola la differenza tra le due immagini.

Pixel con lo stesso colore l'uno sotto l'altro creerà uno stesso colore blured. Pixel con colori diversi sotto l'altro eseguiranno un gradiente che dipende dal raggio di sfocatura. Per un raggio più grande il gradiente si allungherà più lontano. Per i più piccoli non lo farà.

Quindi in pratica questo è il filtro passa-banda. Se i raggi selezionati sono piccoli, vane creare due linee "parallele". Ma dal momento che le vene delle foglie sono piccole rispetto all'estensione dell'immagine, si trovano per lo più raggi, dove una vena si traduce in 1 linea.

Qui ho aggiunto l'immagine elaborata. passi che ho fatto in questa immagine:

  1. Togli saturazione (scala di grigi)
  2. differenza della gaussiana. Qui ho sfornato la prima immagine con un raggio di 10px e la seconda immagine con un raggio di 2px. Il risultato che puoi vedere qui sotto.

Questo è solo un risultato rapidamente creato. Direi che ottimizzando i parametri, puoi persino ottenere dei migliori. enter image description here

Problemi correlati