how can i detect only the glass area for his spec

5 visualizzazioni (ultimi 30 giorni)
this is the original image
and from my work i just can get until this
this is my code
I=imread('viewImage.jpg'); FaceDetector=vision.CascadeObjectDetector(); BBOX=step(FaceDetector, I); Face=imcrop(I,BBOX); imshow(Face); Ib = rgb2gray(Face); figure, subplot(1,2,1), imshow(Ib); Ie = edge(Ib, 'sobel'); figure, subplot(1,2,1), imshow(Ie); Id = imdilate(Ie, strel('diamond', 1)); subplot(1,2,2), imshow(Id); If = imfill(Id, 'holes'); figure, imshow(If); stat = regionprops(If,'boundingbox'); hold on; for cnt = 1 : numel(stat) bb = stat(cnt).BoundingBox; rectangle('position',bb,'edgecolor','r','linewidth',2); end
thank you

Risposta accettata

Dima Lisin
Dima Lisin il 23 Apr 2015
You can create another `vision.CascadeObjectDetector` object to detect the eyes, by setting 'ClassificationModel' to 'Eye Pair'.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by