Sclera blood vessel enhancement on the UBIRIS database
2 views (last 30 days)
Show older comments
Hi!
I'm trying to do sclera blood vessel enhancement on the UBIRIS color database having images of 600x800 pixels and I got stuck. I did sclera detection and achieved a pretty reasonable result (fig. 1), but when I try to do blood vessel enhancement all I get on the edge detected image are the boundary segments of the sclera and not the blood vessels inside it (fig. 2).
My first try was with a bank of Gabor filters according to this article: https://scholarworks.iupui.edu/bitstream/handle/1805/2096/Thesis_OneDoc_Thomas_FinalETD.pdf (page 61 in the PDF)
Then I tried with Frangi filters as some post on this forum says that they also had the problem with a bank of Gabor filters, but Frangi filters were working for them. Well, not for me.
Does anyone have an idea in what direction to go in order to have a well enhanced picture? For the article I posted I tried the following code:
I = rgb2gray(segmentedImage);
gaborArray = gabor([3,4,5],[0,90,180,270]); %maybe 0,90,180,270 or 0,45,90,135
[gaborMag, gaborPhase] = imgaborfilt(I,gaborArray);
f = zeros(size(I,1),size(I,2));
for i = 1:size(I,1)
for j = 1:size(I,2)
for k = 1:12
f(i,j) = f(i,j) + gaborMag(i,j,k).^2;
end
f(i,j) = sqrt(f(i,j));
end
end
maxh = max(f(:));
for i = 1:size(I,1)
for j = 1:size(I,2)
f(i,j) = f(i,j)/maxh;
end
end
Am I not using correctly the orientations? Or should I combined the results of the 12 filters in a different way? The final normalization by dividing with the max value I'm doing because of the fact that if I don't do that I get a full white region instead of the edges of the segmented region.
Figure 1, sclera detection result:

Figure 2, result of bank of Gabor filters applied:

0 Comments
Answers (0)
See Also
Categories
Find more on Image Filtering and Enhancement in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!