manipulating face detection code?

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

 采纳的回答

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;
end
end
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];
end
end

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by