How to remove optic disc from retinal images?
조회 수: 8 (최근 30일)
이전 댓글 표시
I am trying to do diabteic retinopathy grading. Before feature extraction, I have to remove optic disc. I am trying to do so using the paper titled "Automatic Optic Disk Segmentation in Presence of Disk Blurring" https://pdfs.semanticscholar.org/44cc/5980ecadaca668d2158d6bde6b6dd01efa63.pdf . They have used inverted circular LoG filter to enhance OD region. After the candidate circular regions have been enhanced using the LoG filter, they are binarized. The threshold that is used for this binarization is given by (T = 0.6 ∗ mLoG). mLoG is the maximum value in LoG filtered image. Below is the code that I have written.
retina = imread('1.png');
retinaRband = retina(:,:,1); %Red Chanel extraction
retinaRband = imresize(retinaRband,[512 512]);
H= imcomplement(fspecial('log',[120 120],5));
H=(H-min(H(:)))/(max(H(:))-min(H(:)));
log_filtered = imfilter(retinaRband,H);
log_filtered=(log_filtered-min(log_filtered(:)))/(max(log_filtered(:))-min(log_filtered(:)));
max_log_filtered = max(log_filtered (:));
T = max_log_filtered * 0.6; %Threshold
Thresholded_image = imbinarize(log_filtered,0.6);
imshow(Thresholded_image);
However, I am getting a complete black image as output. Below is the attached input image and the expected output.
Can anyone help me with this. Thanks in advance.
댓글 수: 2
Vijayan G
2018년 8월 15일
https://in.mathworks.com/matlabcentral/fileexchange/68491-eye-optic-disk-detection
Fllow above link video
KALYAN ACHARJYA
2018년 8월 15일
Remove all blobs except larger one (Optical Disc). Segment the original one as per resultant binary image.
답변 (1개)
Image Analyst
2018년 8월 15일
It looks like Thresholded_image is a floating point image so, if it's not in the range of 0-1, you need to use [] in imshow. Try
imshow(Thresholded_image, []);
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Optics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!