人数识别(转)

步骤: 
1.视频图像灰度化img 
2,选取第一帧图像first_img,视频每帧和第一帧相减,得到src 
3,对src图片进行 阈值,滤波处理 
4,查找处理好图片的边界findContours; 
5,对边界区域进行统计,满足条件的进行计数

代码实 现:

using namespace std;
using namespace cv;

int main(){
    Mat img, src, frame, frame_gray, first_frame, threshold_src, gass_src, dilate_src;

    VideoCapture cap("m.avi");
    cap >> first_frame;
    cvtColor(first_frame, first_frame, CV_BGR2GRAY);
    int num=0;
    int zz = 1;
    while (1){
        cap >> frame;
        if (frame.empty())
            break;
        vector<Vec4i> hierarchy;
        vector<vector<Point> > contour;
        cvtColor(frame, frame_gray, CV_BGR2GRAY);
        absdiff(frame_gray,first_frame,src);
        threshold(src, threshold_src,50,255,THRESH_BINARY);
        GaussianBlur(threshold_src, gass_src,Size(5,5),1.5);
        //blur(threshold_src, gass_src, Size(5, 5));
    //  medianBlur(threshold_src, gass_src,1);

        dilate(gass_src, dilate_src,Mat());
        findContours(dilate_src,contour, CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
        //drawContours(frame, contour, -1, Scalar(0, 0, 255),2);
        for (int i = 0; i < contour.size();i++){
            Rect bndRect = boundingRect(contour.at(i));
            Point p1,p2;
            p1.x = bndRect.x;
            p1.y = bndRect.y;
            p2.x = bndRect.x + bndRect.width;
            p2.y = bndRect.y + bndRect.height;
            if (bndRect.area()>3000){
                rectangle(frame, p1, p2, Scalar(0, 0, 255));
                num++;
            }
        }
        string font = "Current number:";
        putText(frame,font+to_string(num),Point(100,50),FONT_HERSHEY_COMPLEX_SMALL,1,Scalar(0,0,255));
    //  cout << "人数统计:" << num<<endl;
        num = 0;
        imshow("dilate_src", dilate_src);
        imshow("frame", frame);
        imshow("first_frame", first_frame);
        waitKey(20);
    }
    return 0;
}

  

时间: 2024-10-25 17:58:51

人数识别(转)的相关文章

基于支持向量机SVM的人脸识别

一.线性SVM 1. 背景: 1.1 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 1.2 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 1.3 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法 2. 机器学习的一般框架: 训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树,KNN)=>

课题:监控视频内的人数统计

课题简介 监控视频下的人数统计在生活中应用广泛,有效掌握实时的人数信息,对于人流控制,公共空间设计,行人行为分析,意外事件控制等非常重要.然而这个课题也面对着监控视频分辨率,人群遮挡等问题,目前这个课题的研究领域活跃,提出了很多行之有效的方法,但是对于场景的依赖度很高,统计精度也有待提升.本次毕业设计,将会立足于视频分析,结合当前已知解决方案,采用计算机视觉的技术手段和模式识别的理论依据,进行充分的实验和思考,对课题进行深入的研究和探索,提出解决监控视频下人数统计的高效可行的方法. 文献检索综述

基于Gabor+PCA+SVM的性别识别(3)(完)

欢迎转载,请注明出处:本人能力有限,错误在所难免,欢迎指导 基于前两博文,已经训练出一个性别分类器.那就应该运用这个分类器进行性别分类. 这个测试过程与训练过程一样.只不过,训练时,是大批量的处理样本数据数据.测试过程,针对需要识别的图像进行处理. 首先进行人脸识别,即在图像中找出人脸,把人脸区域提取出来. 第二步,运用Gabor小波对人脸提取特征. 第三步,运用PCA对Gabor提取的特征进行降维处理. 最后,把降维后特征,输入训练好的分类器,得出分类结果. 结果显示: 结果分析: 训练过程m

DeepID人脸识别算法之三代

DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三代. 如今,深度学习方兴未艾,大数据风起云涌,各个领域都在处于使用深度学习进行强突破的阶段,人脸识别也不例外,香港中文大学的团队使用卷积神经网络学习特征,将之用于人脸识别的子领域人脸验证方面,取得了不错的效果.虽然是今年7月份才出的成果,但连发三箭,皆中靶心,使用的卷积神经网络已经改进了三次,破竹之

射频识别技术漫谈(10)——识别号的格式变化

从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出在读卡器上,是读卡器对卡片识别号采用了不同的输出格式.下面以第7节中提到的ID卡(其卡号是16进制的2100A5EAD9H)为例,说明常见的识别号输出格式. 1.ASCII码与16进制真值变换 在嵌入式系统里,数据的存储一般以字节为单位,字节的表示范围为16进制的00-FFH,这就是16进制的真值.

生物识别

生物识别技术 所谓生物识别技术就是,通过计算机与光学.声学.生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性,(如指纹.脸象.虹膜等)和行为特征(如笔迹.声音.步态等)来进行个人身份的鉴定.    根据IBG(International Biometric Group,国际生物识别小组)2009年的统计结果,市场已有多种针对不同生理特征和行为特征的应用.其中,占有率最高的就是指纹识别了. 定义 所谓生物识别技术就是,通过计算机与光学.声学.生物传感器和生物统计学原理等高科技

动态人脸识别系统

动态人脸识别监控系统能够实时搜索和识别目标人物,既可报警黑名单上的嫌疑人以提高公共安全,也可在商业方面用于迎接顾客.系统还能记录视频流中出现的所有人脸图像进行归档,建立视频人脸档案库,实现重点人员的运动轨迹刻画. 演示视频:点击查看 识别: 人脸管理: 人脸注册: 关键技术指标: ·支持实现黑名单人员的自动识别报警,监控名单列表容量可根据实际应用扩展: ·支持高清多人脸实时检测,检测帧率>5帧/秒: ·人脸匹配速度:100万次/秒,可根据实际应用需求动态扩展: ·每路视频同时处理人数: 6~10

行为识别特征提取综述

行为识别特征提取综述   摘要   人体行为识别目前处在动作识别阶段,而动作识别可以看成是特征提取和分类器设计相结合的过程.特征提取过程受到遮挡,动态背景,移动摄像头,视角和光照变化等因素的影响而具有很大的挑战性.本文将较全面的总结了目前行为识别中特征提取的方法,并将其特征划分为全局特征和局部特征,且分开介绍了其优缺点. 关键字: 行为识别 特征提取 全局特征 局部特征 1. 前言   如今人体行为识别是计算机视觉研究的一个热点,人体行为识别的目标是从一个未知的视频或者是图像序列中自动分析其中正

DeepFace--Facebook的人脸识别

连续看了DeepID和FaceNet后,看了更早期的一篇论文,即FB的DeepFace.这篇论文早于DeepID和FaceNet,但其所使用的方法在后面的论文中都有体现,可谓是早期的奠基之作.因而特写博文以记之. DeepFace基本框架 人脸识别的基本流程是: detect -> aligh -> represent -> classify 人脸对齐流程 分为如下几步: a. 人脸检测,使用6个基点 b. 二维剪切,将人脸部分裁剪出来 c. 67个基点,然后Delaunay三角化,在轮