matlab前景分割
用最简单的差分法实现了一下前景分割。使用的mall数据集。
思路是这样的:首先设定一个队列的长度,若读取的图片张数少于队列长度则以当前读取到的图片做平均。否则则以队列中的图片做平均。
这样之后和当前图片做差分,大于差分阈值的就是前景。
%init
close all ;
path = './mall_dataset/frames/';
numofImages = 30 ;
image_cells = cell(numofImages,1) ;
E = cell(numofImages,1) ;
Em = cell(numofImages,1) ; %param
Wh = 10 ;%人高
Ww = 5 ;%人宽
defualtLenOfList = 5 ;%前景差分时默认的队列长度
dif_t = 60 ;%差分阈值 %kenel
gaussian_kenel = fspecial('gaussian',3,0.5) ; %program
for i=1:numofImages
temp = i ;
prefix = 'seq_00' ;
while temp < 1000
prefix = strcat(prefix,'0') ;
temp = temp*10 ;
end
prefix = strcat(prefix,num2str(i)) ;
I=imread([path,prefix,'.jpg']); %依次读取每一幅图像
I = rgb2gray(I);
I = imfilter(I,gaussian_kenel) ;
%I = uint8(I) ;
[Gmag,Gdir] = imgradient(I) ;
E{i}.Gmag = Gmag;
E{i}.Gdir = Gdir ;
image_cells{i} = I ;
%todo strip高=wp/W? 不一定好
%差分处理
Gmean = 0 ;
if i~=1 if i>defualtLenOfList
lenoflist = defualtLenOfList ;
else
lenoflist = i-1 ;
end Lstart = i-lenoflist ;
Ltail = i-1 ;
for j=Lstart:Ltail
Gmean = Gmean + (E{j}.Gmag ./ lenoflist) ;
end Lmean = 0 ;if lenoflist>=defualtLenOfList
for k=Lstart:Ltail
Lmean = Lmean + (E{k}.Gmag./lenoflist) ;
end
for k=Lstart:Ltail
Lvar = Lvar+((E{k}.Gmag-Lmean).^2)./lenoflist ;
end
end Gmoving = E{i}.Gmag - Gmean ;
Gmoving = Gmoving .* (Gmoving>dif_t) ;
G = uint8(Gmoving);
imshow(G) ;
end
end
matlab前景分割的更多相关文章
- matlab 字符分割
http://blog.csdn.net/gotomic/article/details/7898307 注意到以'.'分割时,写成'\.'.前者代表其他含义.可通过help regexp来查询. 例 ...
- matlab 车牌分割的算法
function Touying(g) f=rgb2gray(g); % [m n]=size(f); [row col]=size(f); % T=graythresh(f) % T=T*255 % ...
- Matlab字符串分割
data = '1.21, 1.985, 1.955, 2.015, 1.885'; C = strsplit(data,', ') C = '1.21' '1.985' '1.955' '2.015 ...
- paper 83:前景检测算法_1(codebook和平均背景法)
前景分割中一个非常重要的研究方向就是背景减图法,因为背景减图的方法简单,原理容易被想到,且在智能视频监控领域中,摄像机很多情况下是固定的,且背景也是基本不变或者是缓慢变换的,在这种场合背景减图法的应用 ...
- 灰度图像阈值化分割常见方法总结及VC实现
转载地址:http://blog.csdn.net/likezhaobin/article/details/6915755 在图像处理领域,二值图像运算量小,并且能够体现图像的关键特征,因此被广泛使用 ...
- 笔记︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)
图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图- 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选框,那 ...
- OSVOS 半监督视频分割入门论文(中文翻译)
摘要: 本文解决了半监督视频目标分割的问题.给定第一帧的mask,将目标从视频背景中分离出来.本文提出OSVOS,基于FCN框架的,可以连续依次地将在IMAGENET上学到的信息转移到通用语义信息,实 ...
- 实例分割:MaskXRCnn 与Visual Genome数据集
一.VG数据集 机器学习领域的突破突然让计算机获得了以未曾有的高精度识别图像中物体的能力--几乎达到了让人惊恐的程度.现在的问题是机器是否还能更上层楼,学会理解这些图片中所发生的事件. Visual ...
- 使用OpenCV进行简单的人像分割与合成
图像合成 实现思路 通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像. 实现步骤如下. 使用BackgroundSubtractorMO ...
随机推荐
- 如何给一块新硬盘安装grub,让它成为一个只有一个内核的系统
(1)先关机 (2)添加一块硬盘 (3)将硬盘分区,/dev/sdb1为boot分区,/dev/sdb2为swap分区, /dev/sdb3为根分区 (4)调整/dev/sdb2的分区类型为82,指定 ...
- request内置对象在JSP
- HTML5资源站
前端里:http://www.yyyweb.com/ http://www.cnblogs.com/html5tricks/p/3925844.html
- Java中int与String间的类型转换
int -> String int i=12345;String s=""; 除了直接调用i.toString();还有以下两种方法第一种方法:s=i+"" ...
- [C/C++] 指针数组和数组指针
转自:http://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html 这两个名字不同当然所代表的意思也就不同.我刚开始看到这就吓到了,主要是中文 ...
- bzoj4770 图样
题意 n个点的完全图,每个点的点权是在m位的二进制数中随机选取的.每条边的边权是两个点的点权的异或值. 问最小生成树的边权和的期望.模一个质数输出. 分析 考试的时候写这个题,然后期望得分100-&g ...
- elsarticle模板 去掉Preprint submitted to
参考:http://latex.org/forum/viewtopic.php?t=11123 修改elsarticle.cls文件. 我的CTeX装在c盘中,elsarticle.cls文件路径为: ...
- BZOJ4735 你的生命已如风中残烛 【数学】
题目链接 BZOJ4735 题解 给定一个序列,有的位置为\(w_i - 1\),有的位置为\(-1\),问有多少种排列,使得任意前缀和非负? 我们末尾加上一个\(-1\),就是要保证除了末尾外的前缀 ...
- spark(一)
一.spark 学习 1. spark学习的三种地方: (1)Spark.apache.org 官方文档 (2)spark的源代码的官方网站 https://github.com/apache/ ...
- [Oracle整理]ORA-12705(字符集问题)
[Oracle整理]ORA-12705(字符集问题) 2017年5月11日 18:11 [Oracle整理]ORA-12705(字符集问题) 说明:本内容是工作用到的知识点整理,来自工作中和网络. ...