您现在的位置:首页 >> 图像处理 >> 内容

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

时间:2023/2/21 21:01:16 点击:

  核心提示:10_028_m,包括程序操作录像+说明文档+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJWYkpdx

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

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

具体思路如下:

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

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

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

4.部分源码

.........................................................

global xlag;

global CNT;

global frm;

global PEOPLE;

frm  = 1;

xlag = 0;

CNT  = 0;

PEOPLE    = 0;

START     = 150;

%读取视频

PIX       = VideoReader('test.avi');

PIX_Size  = [PIX.Width,PIX.Height];

Num_Frame = floor(PIX.Duration * PIX.FrameRate);

%参数初始化

for i = START:550

    PIX_each_frame = imresize(read(PIX,i),1/4);

    %1:预处理

    I0             = func_median(PIX_each_frame,5);

    %2:头部提取

    %边缘检测

    I1             = edge(I0,'canny');

    %边缘修复

    I2             = func_distancemap(I1);

    %轮廓检测,检测边缘中最接近圆的区域,头部定位

    [I3,L1]        = func_head_detection(I2,PIX_each_frame);

    figure(1);

    subplot(231);

    imshow(PIX_each_frame);

    title('原始视频');

    subplot(232);

    imshow(I0);

    title('中值滤波视频');    

    subplot(233);

    imshow(I1);

    title('边缘检测效果');       

    subplot(234);

    imshow(I3,[]);

    title('头部定位');  

    subplot(236);

    imshow(I3,[]);

    STR = ['第',num2str(i-START+1),'帧','共检测到',num2str(PEOPLE),'人'];

    title(STR,'Color','r','fontsize',15);

    drawnow;

end

10_028_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168