试过这段代码
A=imread('1.jpg');
FaceDetector=vision.CascadeObjectDetector();
BBOX=step(FaceDetector,A);
B=insertObjectAnnotation(A,'rectangle',BBOX,'Face');
imshow(B),title('Detected Faces');
n=size(BBOX,1);
str_n=num2str(n);
str=strcat('number of detected faces are ',str_n);
disp(str);
此错误显示在我身上
未定义函数'insertObjectAnnotation'用于'uint8'类型的输入参数。
Detected_faces出错(第9行) B = insertObjectAnnotation(A, '矩形',BBOX, '脸');
答案 0 :(得分:1)
您只需更改图片类型即可。 类型必须是uint8和" insertObjectAnnotation"功能只需要不同的输入。
请尝试:
A=imread('1.jpg');
FaceDetector=vision.CascadeObjectDetector();
BBOX=step(FaceDetector,A);
B=insertObjectAnnotation(rgb2gray(A),'rectangle',BBOX,'Face');
实际上,我试过这个:
I = imread('coins.png');
FaceDetector=vision.CascadeObjectDetector();
BBOX=step(FaceDetector,I);
B=insertObjectAnnotation(I,'rectangle',BBOX,'Face');
我是uint8,它有效。