manipulating face detection code?

1 次查看(过去 30 天)
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

采纳的回答

Matthew Eicholtz
Matthew Eicholtz 2016-4-6
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 个)

类别

Help CenterFile Exchange 中查找有关 Computer Vision with Simulink 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by