大脑不仅能准确识别图像中的人脸,而且能很好的识别视频中的人脸。这是因为视频确实就是图像的序列,视频生成技术是人类“视觉滞留”原理。将多福图像以每秒超过24帧的速度播放,形成平滑、连续的画面,既是视频。如果大脑对某张脸感兴趣,会识别每帧中的脸,即便不能认识,也会进行定位。这就是工程设计中涉及的人脸跟踪和识别的最基础原理。
视频生成图像序列代码:
function nFrames = fig5(videoFilePath)
% 输入参数:
% videoFilePath——视频路径信息
% 输出参数:
% videoImgList——视频图像序列
clc;
if nargin < 1
videoFilePath = fullfile(pwd, 'video', 'wangyanbo.avi');
%这一行很关键!定义了视频路径(所在文件夹)及视频文件的名称(含扩展名)。
end
nFrames = GetVideoImgList(videoFilePath);
%%子函数定义
function nFrames = GetVideoImgList(videoFilePath)
% 获取视频图像序列
% 输入参数:
% videoFilePath——视频路径信息
% 输出参数:
% videoImgList——视频图像序列
xyloObj = VideoReader(videoFilePath);
% 视频信息
nFrames = xyloObj.NumberOfFrames; %#ok<VIDREAD>
video_imagesPath = fullfile(pwd, 'video_images');
%这一行也很关键,创建video_images文件夹,以保存由视频转换获取的图像序列
if ~exist(video_imagesPath, 'dir')
mkdir(video_imagesPath);
end
% 检查是否已经处理完毕
files = dir(fullfile(video_imagesPath, '*.png'));
if length(files) == nFrames
return;
end
% 进度条提示框
h = waitbar(0, '', 'Name', '获取视频图像序列...');
steps = nFrames;
for step = 1 : nFrames
temp = read(xy