Ho la seguente immagine:
Ci sono curve sulla foto. vorrei trovare il centro dei cerchi contenenti curve.
ho provato a trasformare opencv e hough circle ma non ho avuto risultati.
Ho la seguente immagine:
Ci sono curve sulla foto. vorrei trovare il centro dei cerchi contenenti curve.
ho provato a trasformare opencv e hough circle ma non ho avuto risultati.
Risposte:
Dovrai prima migliorare il contrasto dell'immagine, quindi filtrarlo fortemente per rimuovere il rumore. poiché i cerchi sono "spessi" (sfocati), puoi filtrare un po 'senza distruggere la struttura dei cerchi.
Vorrei quindi applicare un algoritmo di rilevamento dei bordi per ottenere un'immagine binaria dei bordi che può essere elaborata dalla trasformazione circolare di Hough.
Ottengo la seguente immagine di bordo dalla tua immagine:
Utilizzando i seguenti comandi MATLAB:
% x is the input grayscale image. First we adaptively improve the contrast over the image
y= adapthisteq(x);
% next we use the Canny edge detector with a strong Gaussian lowpass filter
ee=edge(y, 'canny', [], 5);