【发布时间】:2021-04-13 07:07:08
【问题描述】:
这里是 Matlab 新手。我正在尝试实现一些代码来检测图像中的人脸并对其进行裁剪。我正在运行脚本,但它放置在检测到的面部周围的边界框有点小。有什么办法可以改变边界框的尺寸来捕捉更多的人脸?
clc;
% cd into the a folder with pictures
cd 'C:\Users\abc\Desktop\folder'
files = dir('*.jpg');
for file = files'
img = imread(file.name);
figure(1),imshow(img);
FaceDetect = vision.CascadeObjectDetector;
FaceDetect.MergeThreshold = 7;
BB = step(FaceDetect,img);
figure(2),imshow(img);
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',2,'LineStyle','- ','EdgeColor','r');
end
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',2,'LineStyle','- ','EdgeColor','r');
J = imcrop(img,BB(i,:));
figure(3);
imshow(J);
a = 'edited\'
b = file.name
output = strcat(a,b);
imwrite(J,output);
end
%Code End
end
这很好,我只是想扩展裁剪区域的边界以捕捉更多人脸(例如头发和下巴)。
【问题讨论】:
标签: matlab