Confronto dei valori assoluti quando si determina il passaggio a zero nell'immagine 2D

3

Sto cercando di implementare un algoritmo per trovare lo zero crossing (controlla che i segni di tutte le voci attorno alla voce di interesse non siano gli stessi) in una matrice bidimensionale, come parte dell'implementazione del Laplacian di Gaussian edge detection filtro per una classe,

Capisco tutto fino al passaggio 3 della pagina 25 di questo PDF . Perché devo confrontare i valori assoluti delle mie voci vicine? Non mi sembra logico. Se ho una matrice che assomiglia a questa:

[1 1 -2],
[2 -4 -1],
[1 -2 -2]

Perché il valore di -4 non è uno zero crossing valido?

    
posta Seanny123 27.03.2014 - 03:15
fonte

1 risposta

1

Secondo questo sito web , questo confronto viene utilizzato per determinare dove esattamente lo zero l'attraversamento è se sembra che si verifichi tra due pixel. Se ci sono più spigoli validi, quale è il più vicino al limite? Ovviamente, quello con il valore assoluto più piccolo è quello più vicino allo zero crossing! Ci sono molti altri modi per localizzare il bordo, alcuni dei quali sono riepilogati sul sito web che ho collegato e probabilmente molti altri trovati nella tua biblioteca locale in un libro di testo per l'elaborazione delle immagini.

Detto questo, tieni presente che l'algoritmo per il rilevamento dei fronti nell'OP precedente effettivamente ti darà margini molto sparsi, come ho dimostrato implementando l'algoritmo qui . Se vuoi i bordi continui, anche se ammettiamo con molti falsi rilevamenti, puoi usare il seguente algoritmo semplificato.

  1. Verifica se tutti i pixel intorno a te hanno lo stesso segno.
  2. Se non hanno lo stesso segno, allora sei a zero crossing.

Il codice in cui implemento questo è qui .

Alla fine, se vuoi una localizzazione davvero buona, devi andare alla scala sub-pixel, che sfortunatamente, non posso aiutarti, ma è trattata in questo carta . In alternativa, potresti anche provare ad aumentare la dimensione dell'intervallo di rilevamento a passaggio zero. Alla fine, l'unica cosa da tenere lontana da tutto questo è che se stai per effettuare il rilevamento dei bordi, attaccati con Canny.

    
risposta data 03.04.2014 - 07:49
fonte

Leggi altre domande sui tag