Circle detection for eye
Ältere Kommentare anzeigen
Hi everyone, I am stuck with this for weeks. After I input a face image,
First: I perform the viola jones eye region detection by using the vision.CascadeObjectDetector
Second: I perform the Canny edge detection based on the eye region that was detected during the first stage.
a = imread('face.jpg');
imshow(a);
detector = vision.CascadeObjectDetector('EyePairSmall');
bbox = step(detector,a);
out = insertObjectAnnotation (a,'rectangle',bbox,'detection');
subplot(2,2,1),subimage(out);
outb = imcrop(out,bbox);
[hog1,visualization] = extractHOGFeatures(outb,'CellSize',[8 8]);
subplot(2,2,2),subimage(outb);
I = rgb2gray(outb);
BW = edge(I,'canny');
subplot(2,2,3);
imshow(BW);
After that, the image shown is like this:

May I know how can I detect the iris (circle shape) based on the output of Canny edge detection ?
As the region has will only have two circles detected, how is it possible to be implemented ?
I read about the imfindcircle before, but it doesn't work out. Might need the community helps and some guidance on this.
Much appreciated. Thank you !
Antworten (1)
Image Analyst
am 19 Nov. 2019
0 Stimmen
Why are you using edge detection???
I'd first try thresholding the red channel, and if that is not robust enough, try imfindcircles().
4 Kommentare
Teik Jin Lim
am 19 Nov. 2019
Bearbeitet: Teik Jin Lim
am 19 Nov. 2019
Image Analyst
am 19 Nov. 2019
mask = rgbImage(:,:,1) < someThresholdValue; % You pick what someThresholdValue is.
Try adjusting some of the parameters to imfindcircles().
Teik Jin Lim
am 19 Nov. 2019
Image Analyst
am 19 Nov. 2019
OK, what is the name of your image? What did you call the variable?
Can you attach the cropped eye image alone? (Use imwrite()).
Kategorien
Mehr zu Computer Vision with Simulink finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!