DRMF+KLT

脸部检测和追踪,脸部检测采用2013CVPR中DRMF算法,追踪采用KLT

function [outfilename,fr] = DRMF_KLT(infilename)
addpath(genpath('.'));
infilename='lxn.avi'
vidFile =  fullfile(infilename);


% first step 检测人脸
% Create a cascade detector object.  
faceDetector = vision.CascadeObjectDetector();  
 
noseDetector = vision.CascadeObjectDetector('Nose');        %%%%
outfilename = [infilename(1:end-4),'_DRMF_KLT.avi'];        %%%% lxn_DRMF_KLT.avi
outName =  fullfile('.\result',outfilename);                %%%% .\result\lxn_DRMF_KLT.avi
vid = VideoReader(vidFile);                                 %%%%
fr = round(vid.FrameRate);                                  %%%% get fps

% Read a video frame and run the detector.  
videoFileReader = vision.VideoFileReader(vidFile);  
% 针对lxn视频 videoFrame = 480*640*3
videoFrame      = step(videoFileReader);  

if 0
    twoface='twoface3.jpg';
    videoFrame=imread(twoface);
end
% 针对lxn视频 bbox = 141 116 305 305
if 0
    bbox            = step(faceDetector, videoFrame);   
else
    % 图片中有一张脸,rebbox是1*4;两个脸的话,rebbox就是 2*4,以此类推
    rebbox            = step(faceDetector, videoFrame);
    rebbox_nose            = step(noseDetector, videoFrame);
    [bx by] = size(rebbox);
    [bxn byn] = size(rebbox_nose);
    if(bx >= 1)
        %人脸有两个,选取框大的。
  
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值