1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56Wmptq
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物识别技术相比,步态识别具有非接触远距离和不容易伪装的优点。在智能视频监控领域,比图像识别更具优势。步态是指人们行走时的方式,这是一种复杂的行为特征。罪犯或许会给自己化装,不让自己身上的哪怕一根毛发掉在作案现场,但有样东西他们是很难控制的,这就是走路的姿势。英国南安普敦大学电子与计算机系的马克·尼克松教授的研究显示,人人都有截然不同的走路姿势,因为人们在肌肉的力量、肌腱和骨骼长度、骨骼密度、视觉的灵敏程度、协调能力、经历、体重、重心、肌肉或骨骼受损的程度、生理条件以及个人走路的“风格”上都存在细微差异。对一个人来说,要伪装走路姿势非常困难,不管罪犯是否带着面具自然地走向银行出纳员还是从犯罪现场逃跑,他们的步态就可以让他们露出马脚。
4.部分源码
Lens = floor(v.Duration*v.FrameRate);%视频长度
v=VideoReader(str);
idx = 0;
diff = 0;
RGBlvl = 100;
Width = 2;
axes(handles.axes2);
while hasFrame(v)%开始帧循环
idx
idx = idx + 1;
video1 = readFrame(v);%读取视频帧的图像像素数据
[R,C,K] = size(video1);%计算当前帧的分辨率
diff = zeros(R,C);
%目标提取
%通过颜色模型来提取目标
for i =1:R%开始对像素的每一个像素进行循环
for j= 1:C
if (video1(i,j,1)<RGBlvl & video1(i,j,2)<RGBlvl & video1(i,j,3)<RGBlvl)
diff(i,j) = 1;%提取目标
else
diff(i,j) = 0;%如果不是目标则为0
end
end
end
%形态学滤波
diff2 = bwareaopen(diff,4000);
%形态学填充
diff2 = imfill(diff2, 'holes');
%进一步形态学滤波
diff2_= bwareaopen(diff2,4000);
%提取目标区域的坐标
[L,n] = bwlabel(diff2_);
a1=[];
a2=[];
b1=[];
b2=[];
for jj=1:n
r=[];
c=[];
[r,c]=find(L==jj);
a1(jj)=max(r);
a2(jj)=min(r);
b1(jj)=max(c);
b2(jj)=min(c);
end
%根据坐标信息对目标进行裁剪,并保存,用于后面能量图的计算
II{idx} = diff2_(min(a2):max(a1),min(b2):max(b1));
%画图
imshow(diff2);
drawnow;
end
05_078_m