matlab 人脸检测

参考网址:http://www.mathworks.com/help/vision/examples/face-detection-and-tracking-using-camshift.html

clear all;

clc;

faceDetector = vision.CascadeObjectDetector();

HOMEIMAGES_array=dir(fullfile('./video/','*.avi'));
namelist = {};
nameindex = 0; i_index=0;
for i = 1:numel(HOMEIMAGES_array)
    temp = HOMEIMAGES_array(i).name;    
    %for subject name
    index_ = find(temp == '_');    
    name = temp(index_(3)+1:end);
    ind = find(ismember(namelist,name));
    if  ~numel(ind)
        nameindex = nameindex + 1;
        namelist{nameindex} = name;
    end    
    %for video frame
    mov=mmread(['./video/',temp]);
   mkdir(['./ytcelebrityface/',temp(1:size(temp,2)-4)]);
    for m=1:mov.nrFramesTotal
        if m<51
            videoFrame=mov.frames(m).cdata;
            %         videoFrame      = step(videoFileReader);
            bbox            = step(faceDetector, videoFrame);
            % Draw the returned bounding box around the detected face.
%             videoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face');
            if bbox   
                for ibox =1:size(bbox,1)
                    if size(bbox,1)>1
                        videoFace = imresize(imcrop(videoFrame,[bbox(ibox,:)]),[45,45]);
                        imwrite(videoFace,['./videoface/',temp(1:size(temp,2)-4),'/',num2str(m),'more',num2str(ibox),'.jpg'],'jpg');
                    else
                        videoFace = imresize(imcrop(videoFrame,[bbox]),[45,45]);
                        imwrite(videoFace,['./videoface/',temp(1:size(temp,2)-4),'/',num2str(m),'.jpg'],'jpg');
                    end
                end
            end
        end
    end
end




http://www.mathworks.com/help/vision/examples/face-detection-and-tracking-using-camshift.html
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值