Matlab immer Blutgefäße nur im Bild
Ich versuche, das Bild der Netzhaut (Bild 1, unten), um nur die Blutgefäße in schwarz und weiß (Bild 2, unten) mit den Funktionen, die avaible sind, in der image processing toolbox, Binarisierung, morphologischer Operationen,etc. Ich habe Folgendes versucht, hat jedoch nicht das Ergebnis bekommen, das ich brauche:
% READ IMAGES
eye1 = imread('Retina1.png');
%display coloured version(original)
imshow(eye1);
% convert to grayscale
grayeye1 =rgb2gray(eye1);
% display grayscale
imshow(grayeye1);
% make darker
dgrayeye1 = imadjust(grayeye1,[0.1 0.9],[]);
imshow(a);
se = strel('disk',1);
cannyeye = edge(dgrayeye1,'canny',0.15);
figure,imshow(cannyeye);
dilate = imdilate(cannyeye,se);
figure, imshow(dilate)
Bild 1:
Bild 2:
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist keine leichte Aufgabe. Es gibt mehrere Referenz-Papiere, die Sie benötigen, zu untersuchen, in:
Retinale Gefäß-Gewinnung durch matched-filter mit der Ableitung Erster Ordnung des Gaußschen. Und die Matlab-code enthalten ist in diesem post.
Eine Automatische Hybrid-Methode für die Netzhaut-Blutgefäße-Extraktion. Es nutzt morphologischen Ansatz mit öffnungen/Schließungen und der top-hat-Transformation. Die fuzzy-clustering angewendet, nachdem die, dass.
Die am häufigsten verwendete Gefäß-detection-Methode wird aus dem Papier Hessische-based Multiscale Vessel Enhancement Filtering von Frangi et al. Es ist eine Matlab-Implementierung, FrangiFilter2D, das funktioniert auf 2D-Schiff-Bilder.
Ich habe versucht, diesen code in Ihrem Fall, hoffentlich können Sie von hier aus starten...
Bild: