本文主要是介绍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 0twoface='twoface3.jpg';videoFrame=imread(twoface);
end
% 针对lxn视频 bbox = 141 116 305 305
if 0bbox = 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)%人脸有两个,选取框大的。
这篇关于DRMF+KLT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!