manipulating face detection code?

2 views (last 30 days)
EyeDetect = vision.CascadeObjectDetector('EyePairBig'); I = imread('1.jpg'); BB=step(EyeDetect,I); figure,imshow(I); rectangle('Position',BB,'LineWidth',4,'LineStyle','-','EdgeColor','b');
if this is my code....i want to run this code for a series of pics and i want to increment a value=0 based on the number of times the eyes were found in the pics so i want to know which of the pics had their eyes detected
is there a way to put in the variable somewhere in the code that if on eyes being found will set to 1 which can then be read from my counter variable?
also as i said to run it in a series of pics i need to use a loop
if i initialise for i=1:1:say 10 (for 10 images) how do i poll the I=imread('1.png')? im guessing i cant use 'i.png' that wont work in quotes so how do i do it?
ty for any help

Accepted Answer

Matthew Eicholtz
Matthew Eicholtz on 6 Apr 2016
Try this:
cnt = 0;
for ii=1:10
filename = sprintf('%d.jpg',ii);
I = imread(filename);
BB = step(EyeDetect,I);
if ~isempty(BB)
cnt = cnt+1;
This will count the number of images in which eyes were found. If you want to know which images contained eyes, you could do something like:
cnt = [];
for ii=1:10
... %same as before
if ~isempty(BB)
cnt = [cnt, ii];

More Answers (0)


Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by