低秩矩阵的应用matlab,低秩矩阵的应用
背景建模是从拍摄的视频中分离出背景和前景。
由于背景的视频基本是不变的,所以如果把每帧当做一个矩阵的一列那么,矩阵是低秩的,所以低秩矩阵的恢复来恢复出背景。
今天主要完成了,在自己的数据库让进行背景和前景的分离。下面为主要步骤:
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',[]);
%read one frame every time
for i = 1:Cal_FrameN
mov(i).cdata = read(video,i);
P = mov(i).cdata;
double_P=im2double(P);
%imshow( double_P),title('原始图片3');
Frame=rgb2gray( double_P);%当前灰度帧
%下采样
Down_Frame=Frame(2:4:H,2:4:W);
M(:, i) = Down_Frame(:);
% disp('当前播帧数:'),disp(i);
% imshow(P),title('原始图片');
% P2=rgb2gray(P);
end
[A_hat, E_hat, iter]=inexact_alm_rpca(M,0.006);
A=reshape(A_hat(:,200), size(Down_Frame));
E=reshape(E_hat(:,200), size(Down_Frame));
D_real=reshape(M(:,200), size(Down_Frame));
figure;
imshow(D_real),title('原始图片');
figure;
imshow(A),title('恢复图片');
figure;
imshow(abs(E)),title('错误图片');
因为是MATLAB的初学者所以遇到了两个问题:
A.必须对读取的图像做double_P=im2double(P);处理不然会出现
错误使用 *
MTIMES 不完全支持整数类。至少有一个输入必须为标量。
要按元素进行 TIMES 计算,请改用 TIMES (.*)。
出错 lanbpro (line 298)
r = At*U(:,1);
出错 lansvd (line 209)
[U,B,V,p,ierr,w] = lanbpro(A,j,p,options,U,B,V,anorm);
出错 inexact_alm_rpca (line 53)
norm_two = lansvd(Y, 1, 'L');
出错 background (line 36)
[A_hat, E_hat, iter]=inexact_alm_rpca(M,0.006);
B在显示错误图片时需要做abs绝对值处理,不然是全黑的图片,不能看到前景图像。
C.最后一个也非常重要lumada值为1/(根号m).m为一张图片像素点的个数
D还有一个问题就是原图片很到,直接做会有内存不够的问题,所以进行了下采样。
实验结果:
=
+
低秩矩阵的应用matlab,低秩矩阵的应用相关推荐
- matlab 求取矩阵中值,matlab中取矩阵中指定列的值组成新矩阵
matlab 矩阵中怎么加入冒号,比如我想矩阵A的第一列都为"1:" A(:,1)='1:';再问:不行的再答:用结构矩阵或者单元矩阵试试吧. 诚教:matlab中取矩阵的其中几行 ...
- matlab 矩阵角标,MATLAB中的矩阵索引
MATLAB中的矩阵索引 作者:SteveEddins and Loren Shure 译:王茂春 利用矩阵的索引取出原矩阵的子集元素是一种有效的方式.MATLAB的多种索引类型不仅强大.灵活,而 ...
- matlab44矩阵,如何在MATLAB中将2X2矩阵转换为4X4矩阵?
我需要通过以下方式将2X2矩阵转换为4X4矩阵的一些帮助: A = [2 6; 8 4] 应该变成: B = [2 2 6 6; 2 2 6 6; 8 8 4 4; 8 8 4 4] 我该怎么做? 在 ...
- matlab矩阵变成行向量,matlab中将一个矩阵按照行拼成一个行向量应该怎么输?
%by dynamic %see also http://www.matlabsky.com %contact me matlabsky@gmail.com %2009.2. % 按行优先排列成行向量 ...
- matlab 矩阵3d显示,Matlab 3D视图矩阵
让A是MATLAB的4×4视图矩阵,从视图函数获得: A = view; A(1:3,1:3)应对应于旋转和缩放, A(1:3,4)应对应翻译, A(4,:)应该是[0 0 0 1]. 将相机参数设置 ...
- matlab里矩阵相除,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- matlab如何矩阵相除,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- matlab 矩阵除法计算,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- MATLAB 一二三维矩阵之间转换
MATLAB 一二三维矩阵之间转换 MATLAB 一二三维矩阵之间转换 低维转高维 高维转低维 前言:今天总结一下MATLAB一二三矩阵或数组之间的转换. 低维转高维 使用reshape函数,执行 ...
- matlab 矩阵 列 逆序,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...
几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...
最新文章
- java.lang.Instrument 动态修改替换类代码
- 华为mate40pro更新鸿蒙时间,确认入网!鸿蒙系统将首发mate40Pro4G版,华为旧旗舰也迎来升级...
- php mysql事务处理回滚操作
- excel 如何用vba将某一条记录移动到另一张工作表中_EXCEL常用快捷键
- centos 重启网卡_CentOS6 网络管理之网卡配置及简单路由设置
- JAVA入门级教学之(浮点型数据类型)
- Yarn 监控 - 监控任务运行状态 (包括Spark,MR 所有在Yarn中运行的任务)
- 斗地主AI算法——第十一章の被动出牌(5)
- 【LeetCode】剑指 Offer 45. 把数组排成最小的数
- Cilium提供并透明地保护应用程序工作负载之间的网络连接和负载平衡:什么是eBPF和XDP?
- 停滞数年后,ElasticJob 携首个 Apache 版本 3.0.0-alpha 回归!
- paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片
- Activiti6--入门学习--监听器
- Pearson相关系数, Spearman相关系数,Kendall相关系数的区别
- 两个域名指向同一服务器的非80端口
- python项目-Python 的练手项目有哪些值得推荐?
- make_blobs方法的使用
- AHRS和INS的区别
- 销售凭证、客户主数据相关表
- 9月20日.周日 第一场正式的比赛:2020年CCPC网络赛
热门文章
- uniapp之安卓文件操作插件
- 李笑来《财富自由之路》思维导图
- android灰度发布平台,安卓版微信灰度发布购物直播功能 小程序直播上线公域流量入口...
- 英语口语360之每日二十个英语单词
- 方差分析ANOVA、单因素方差分析、协变量方差分析ANCOVA、重复测量方差分析、双因素方差分析( two-way ANOVA)、多元方差分析MANOVA、多元协方差分析MANCOVA
- windows 安全删除硬件并弹出媒体 选项灰色、无法弹出
- 金盾播放器android安卓,(金盾高级视频加密系统跨平台播放器Android安卓安装步骤.doc...
- 加拿大 生物工程计算机最好的学校,加拿大哪些大学有生物工程本科专业?这五大院校是理科与工科的完美结合!...
- 详细解LeetCode 1284. Minimum Number of Flips to Convert Binary Matrix to Zero Matrix
- 仪器仪表的标定、检定、校准、校验的区别【图文详解】