资源简介
公交车系统模式识别,能够自动识别人头部位,统计某个座位的人数。
代码片段和文件信息
#include “stdafx.h“
#include
#include “detHuman.h“
#include “math.h“
SCircle CDetHuman::detect1( BYTE*Img int w int h)
{
SCircle myCircle;
int jblackp;
SLine myline[100];
int flag;
int i=h-5;
int pxpypxj;
m_nFlag=1;
do{
flag=0;
jblackp=0;
for(int j=0;j {
if(Img[i*w+j]==0)
{
if(flag==0)
pxj=j;
flag=1;
myline[jblackp].h=caculateHigh1(Imgwij);
myline[jblackp].x=j;
myline[jblackp].y=i;
jblackp++;
}
else
flag=0;
if(flag==0&&jblackp>0)
break;
}
i--;
}while(i>10&&0==jblackp);
if(jblackp<8)
myCircle.degree=0;
else
myCircle.degree=(BYTE)classify(Imgmylinejblackpwh);
if(myCircle.degree>3)
{
location(mylinepxpyjblackpi);
myCircle.x=px+pxj;
myCircle.y=py;
}
return myCircle;
}
int CDetHuman::caculateHigh1( BYTE*Img int w int yp int xp)
{
int height=0;
while(Img[yp*w+xp]==0)
{
height++;
if(m_nFlag==1)
yp--;
if(m_nFlag==2)
yp--;
if(m_nFlag==3)
yp++;
}
return height;
}
int CDetHuman::classify( BYTE* Img SLine *bLine int jblackP int w int h)
{
int score=0max=0;
int area=0;
float ratiovari;
for(int i=0;i {
area+=bLine[i].h;
if(max max=bLine[i].h;
}
ratio=float(max)/jblackP;
vari=area/jblackP;
if(ratio<0.1||ratio>3)
return 0;
if(area>(w*h)/5)
score+=5;
if(area>12)
score+=2;
if(max>5)
score+=3;
if(vari>15.0)
score+=4;
return score;
}
int CDetHuman::location( SLine *bLineint &xp int&yp int jblackP int h)
{
int max;
for(int i=0;i {
if(max max=bLine[i].h;
}
xp=int(jblackP/2);
if(m_nFlag==1)
yp=h-int(max/2);
if(m_nFlag==2)
yp=h-int(max/2);
if(m_nFlag==3)
yp=h+int(max/2);
return 0;
}
SCircle CDetHuman::detect2(BYTE*Img int w int h)
{
SCircle myCircle;
int jblackp;
SLine myline[100];
int flag;
int i=h-10;
int pxpypxj;
m_nFlag=2;
do{
flag=0;
jblackp=0;
for(int j=0;j {
if(Img[i*w+j]==0)
{
if(flag==0)
pxj=j;
flag=1;
myline[jblackp].h=caculateHigh1(Imgwij);
myline[jblackp].x=j;
myline[jblackp].y=i;
jblackp++;
}
else
flag=0;
if(flag==0&&jblackp>0)
break;
}
i--;
}while(i>10&&jblackp==0);
if(jblackp<10)
myCircle.degree=0;
else
myCircle.degree=(BYTE)classify(Imgmylinejblackpwh);
if(myCircle.degree>2)
{
location(mylinepxpyjblackpi);
myCircle.x=px+pxj;
myCircle.y=55+py;
}
return myCircle;
}
SCircle CDetHuman::detect3(BYTE*Img int w int h)
{
SCircle myCircle;
int jblackp;
SLine myline[100];
int flag;
int i=10;
int pxpypxj;
m_nFlag=3;
do{
flag=0;
jblackp=0;
for(int j=0;j {
if(Img[i*w+j]==0)
{
if(flag==0)
pxj=j;
flag=1;
myline[jblackp].h=caculateHigh1(Imgwij
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9811 2012-04-19 16:24 HumanDet\Debug\detHuman.obj
文件 0 2012-04-19 16:24 HumanDet\Debug\detHuman.sbr
文件 2704384 2012-04-19 16:24 HumanDet\Debug\HumanDet.bsc
文件 135248 2012-04-19 16:24 HumanDet\Debug\HumanDet.exe
文件 341484 2012-04-19 16:24 HumanDet\Debug\HumanDet.ilk
文件 23269 2012-04-19 16:24 HumanDet\Debug\HumanDet.obj
文件 5567704 2012-04-19 16:23 HumanDet\Debug\HumanDet.pch
文件 500736 2012-04-19 16:24 HumanDet\Debug\HumanDet.pdb
文件 9708 2012-04-19 16:23 HumanDet\Debug\HumanDet.res
文件 0 2012-04-19 16:24 HumanDet\Debug\HumanDet.sbr
文件 14953 2012-04-19 16:24 HumanDet\Debug\HumanDetDoc.obj
文件 0 2012-04-19 16:24 HumanDet\Debug\HumanDetDoc.sbr
文件 45763 2012-04-19 16:24 HumanDet\Debug\HumanDetView.obj
文件 0 2012-04-19 16:24 HumanDet\Debug\HumanDetView.sbr
文件 20055 2012-04-19 16:24 HumanDet\Debug\MainFrm.obj
文件 0 2012-04-19 16:24 HumanDet\Debug\MainFrm.sbr
文件 8661 2012-04-19 16:24 HumanDet\Debug\process.obj
文件 0 2012-04-19 16:24 HumanDet\Debug\process.sbr
文件 106097 2012-04-19 16:23 HumanDet\Debug\StdAfx.obj
文件 1376579 2012-04-19 16:23 HumanDet\Debug\StdAfx.sbr
文件 230400 2012-04-26 12:28 HumanDet\Debug\vc60.idb
文件 397312 2012-04-19 16:24 HumanDet\Debug\vc60.pdb
文件 3431 2012-04-19 16:23 HumanDet\detHuman.cpp
文件 551 2012-04-19 16:23 HumanDet\detHuman.h
文件 31104 2012-04-19 16:23 HumanDet\HumanDet.aps
文件 3498 2012-04-19 16:23 HumanDet\HumanDet.clw
文件 4245 2012-04-19 16:23 HumanDet\HumanDet.cpp
文件 4852 2012-04-19 16:23 HumanDet\HumanDet.dsp
文件 539 2012-04-19 16:23 HumanDet\HumanDet.dsw
文件 1378 2012-04-19 16:23 HumanDet\HumanDet.h
............此处省略36个文件信息
- 上一篇:Altium Designer 14 中文详细教程
- 下一篇:SAP中文版帮助文档
相关资源
- 基于89C51的智能台灯
- 计算机数值分析.rar
- 水晶排课 11.53 破解版
- 51智能排课系统大课表版v5.1.3中文免费
- 用友U8新引入帐套后固定资产模块出错
- Beginning STM32: Developing with FreeRTOS libo
- 土木工程毕业设计(得了95分)
- 土木工程毕业设计 -大连理工大学
- 八重州 7800电路图 高清版
- PalmOS一些常识
- Palm OS应用程序设计指南
- Palm OS基础入门
- 通信原理第七版课后答案樊昌信.doc
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- [软件工程—实践者的研究方法].Roge
- pdfbox所需jar包
- Win98Dos启动盘的盘镜像纯净版
- DOS98.IMG启动文件
- Trojan-Qt5-Windows-0.0.4.rar
- 数字电路知识点汇总(精华版).doc
- SpringMVC文件上传与的实现.rar
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
评论
共有 条评论