m公交车上车乘客实时计数系统matlab仿真

1.算法仿真效果

matlab2022a仿真结果如下:


2.算法涉及理论知识概要

视频预处理:


主要包括视频防抖处理,噪声干扰滤波处理等步骤


头部提取:


由于这里,需要统计的人数,其主要特征是头部信息较为完整,而身体部分存在较大的重叠,所以这里我们主要对头部进行提取。


具体思路如下:


目标提取,获得视频的运动部分;


背景去除,干扰去除,通过这个步骤,获得无背景干扰的运动目标


通过提取头部头发纹理以及脸部特征的方法获得每个目标的头部,并通过边缘检测的方法,提取头部轮廓信息。


数量统计:


通过特征匹配的方法,对检测到的轮廓,分析出对应的是否是头部,如果是头部,就进行计数统计。


整个算法的整体流程图如下图所示:



中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。中值滤波的目的是保护图像边缘的同时去除噪声。


阶跃形的边缘,Canny推导出的最优边缘检测器的形状与高斯函数和一阶导数类似,因此Canny边缘检测器就是由高斯函数的一阶导数构成的。我们知道,高斯函数是圆对称的,因此Canny算子在边缘方向上是对称的,在垂直于边缘的方向上是反对称的。这就意味着该算子对最急剧的变化方向上的边缘特别敏感,但在沿边缘方向上是不敏感的。


根据Canny的定义,中心边缘点为算子nG与图像f(x,y)的卷积在边缘梯度方向上的区域中的最大值。这样,就可以在每一点的梯度方向上判断此点强度是否为其领域的最大值来确定该点是否为边缘点。当一个像素满足以下三个条件时,则被认为是图像的边缘点。


(1)该点的边缘强度大于沿该点梯度方向的两个相邻像素点的边缘强度;


(2)与该点梯度方向上相邻两点的方向差小于45度;


(3)以该点为中心的33´领域中的边缘强度极大值小于某个阈值。  此外,如果(1)和(2)同时被满足,那么在梯度方向上的两相邻像素就从候选边缘点中取消,条件(3)相当于区域梯度最大值组成的阈值图像与边缘点进行匹配,这一过程消除了许多虚假的边缘点。  图像边缘检测的基本步骤:


(1) 滤波,边缘检测主要基于导数计算,但受噪声的影响。但滤波器在降低噪 声的同时也导致了边缘强度的损失。


(2) 增强,增强算法将邻域咴度有显著变化的点突出显示。一般通过计算梯度 幅值完成。  (3) 检测,但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测 是梯度幅值阈值的判定。


(4) 定位,精确确定边缘的位置。


一般情况下,获得的边缘,会存在较大的缺口,这里,我们使用膨胀处理,修复边缘,膨胀原理如下所示:


假定二值图像A和形态学处理的结构元素B是定义在笛卡儿网格上的集合,网格中值为1的点是集合的元素,当结构元素的原点移到点(x,y)时,记为Sxy


膨胀是以得到B的相对与它自身原点的映像并且由z对映像进行移位为基础的。A被B膨胀是所有位移z的集合,这样, 和A至少有一个元素是重叠的。我们可以把上式改写为: 结构元素B可以看作一个卷积模板,区别在于膨胀是以集合运算为基础的,卷积是以算术运算为基础的,但两者的处理过程是相似的。


⑴ 用结构元素B,扫描图像A的每一个像素


⑵ 用结构元素与其覆盖的二值图像做“与”操作


⑶ 如果都为0,结果图像的该像素为0。否则为1




3.MATLAB核心程序

save func\tmps.mat L1 X1 X2 Y1 Y2 I

else

CNT = CNT + 1;

if xlag == 1 & CNT <= 5;

load func\tmps.mat

Xc(frm) = (X1(I)+X2(I))/2;

Yc(frm) = (Y1(I)+Y2(I))/2;

else

Xc(frm) = 0;

Yc(frm) = 0;  

end

end


if frm > 1 & mod(frm,2) == 0

Xc1 = Xc(frm);

Yc1 = Yc(frm);

save func\xy1.mat  Xc1 Yc1

end

if frm > 1 & mod(frm,2) == 1

Xc2 = Xc(frm);

Yc2 = Yc(frm);

save func\xy2.mat  Xc2 Yc2

end


if frm > 4

load func\xy1.mat

load func\xy2.mat


if sqrt((Xc1 - Xc2)^2 + (Yc1 - Yc2)^2) > 80 & Yc2 - Yc1 > 0

PEOPLE = PEOPLE + 1;

end

end   


[R1,C1,K] = size(I0);


I_final = I0;

for i = 1:R1

for j = 1:C1

if L1(i,j,1) == 255

I_final(i,j,1) = 255;

I_final(i,j,2) = 0;

I_final(i,j,3) = 0;

end

end

end

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容