背景建模是从拍摄的视频中分离出背景和前景。
由于背景的视频基本是不变的,所以如果把每帧当做一个矩阵的一列那么,矩阵是低秩的,所以低秩矩阵的恢复来恢复出背景。
今天主要完成了,在自己的数据库让进行背景和前景的分离。下面为主要步骤:
1.从马毅的实验室网址下载RPCA求解的代码http://perception.csl.illinois.edu/matrix-rank/introduction.html
2.给出的接口是[A_hat E_hat iter] = inexact_alm_rpca(D, lambda, tol, maxIter)
所以明确目标:D是我们的视频中的每一帧,A_hat 是我们估计的背景,E_hat是前景。
RPCA解决的问题是
clc;
clear;
%% this to read avi by using mmread to get every frame
video = VideoReader('E:\FFOutput\test.avi');
nFrames = video.NumberOfFrames; %得到帧数
H = video.Height; %得到高度
W = video.Width; %得到宽度
Rate = video.FrameRate;
Cal_FrameN=300;
% Preallocate movie structure.
mov(1:Cal_FrameN) = struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]);
%rea