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

1 次查看(过去 30 天)
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 个评论
Geoff Hayes
Geoff Hayes 2021-3-23
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.

请先登录,再进行评论。

回答(1 个)

Shashank Gupta
Shashank Gupta 2021-3-29
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!

Translated by