Array indices must be positive integers or logical values in facial detection

1 view (last 30 days)
Good afternoon,
I am not sure why i am getting this error returned when i am using the following code;
faceDetector = 'vision.CascadeObjectDetector';
I = imread('INSERT PICTURE LOCATION HERE');
bboxes = faceDetector(I);
IFaces = insertObjectAnnotation(I,'rectangle',bboxes,'Face');
figure
imshow(IFaces)
title('Detected faces');
I am not sure what this error means as the pixel values i am using are all positive values so I am very confused. What can I do to achieve a successful output?
Thanks.
  1 Comment
Geoff Hayes
Geoff Hayes on 23 Mar 2021
Evan - please copy and paste the full error message to this question so that we can see which line of code is throwing the error.

Sign in to comment.

Answers (1)

Shashank Gupta
Shashank Gupta on 29 Mar 2021
Hi Evan,
I think you got confused in defining a facedetector. Check out the following code, this might help you.
faceDetector = vision.CascadeObjectDetector(); % Correct way to define this object.
I = imread('INSERT PICTURE LOCATION HERE'); % Read an image.
bboxes = faceDetector(I); % call the function.
IFaces = insertObjectAnnotation(I,'rectangle',bboxes,'Face');
figure
imshow(IFaces)
title('Detected faces');
Also check out this resource page in case you stuck somewhere.
I hope this helps.
Cheers.

Community Treasure Hunt

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

Start Hunting!