Sto cercando di estrarre i vasi sanguigni da un'immagine, e per farlo, sto prima equalizzazione dell'immagine, applicando CLAHE istogramma per ottenere il seguente risultato:problemi di elaborazione delle immagini con i vasi sanguigni
clahe = cv2.createCLAHE(clipLimit=100.0, tileGridSize=(100,100))
self.cl1 = clahe.apply(self.result_array)
self.cl1 = 255 - self.cl1
E poi sto usando soglia OTSU per estrarre i vasi sanguigni, ma non riuscendo a farlo bene:
self.ret, self.thresh = cv2.threshold(self.cl1, 0,255,cv2.THRESH_BINARY + cv2.THRESH_OTSU)
kernel = np.ones((1,1),np.float32)/1
self.thresh = cv2.erode(self.thresh, kernel, iterations=3)
self.thresh = cv2.dilate(self.thresh, kernel, iterations=3)
Ecco il risultato:
Ovviamente c'è un sacco di rumore. Ho provato a utilizzare la sfocatura di Median, ma raggruppa solo il rumore e lo trasforma in un blob, in alcuni punti. Come faccio a rimuovere il rumore per ottenere i vasi sanguigni?
Questa è l'immagine originale da cui sto cercando di estrarre i vasi sanguigni:
Si prega di allegare un'immagine originale e l'uscita prevista. – ZdaR
Non ho l'output desiderato, mi dispiace. Ho allegato l'originale. –
Proverai a impostare tileGridSize = (8,8) su qualcosa di più simile (20,20)? Credo che euqlizing sia un po 'troppo aggressivo. Non risolverebbe completamente il problema, ma potrebbe portare a risultati migliori. – Art