资源简介
车辆分车道计数 opencv2
http://blog.csdn.net/qq_15947787/article/details/73656621
代码片段和文件信息
#include “cv.h“
#include “highgui.h“
#include
#include
#include
#include
#include
const double MHI_DURATION = 0.5;
const int N = 3;
const int CONTOUR_MAX_AERA = 800;//最小区域
int last = 0;
int nFrmNum = 0;
bool FindCar=false;
int No[5]={00000};
int CarNum[4]={0000};
int CarSum = 0;
IplImage **buf = 0;// ring image buffer
IplImage *mhi = 0; // MHI: motion history image
struct AvTrackBlock{
int Direction; //1表示进入区域,0表示离开区域
int framesTracked; //已经跟踪到车辆的帧数。
int avgX; //车辆x方向中心
int avgY; //车辆y方向中心
} TrackBlock[4][5];
void DrawText(IplImage* pImgchar* textCvPoint Point);
void DrawCount(IplImage* pImgint countCvPoint Point);
void AddBlobTrack(IplImage* imgint iCvPoint pt_Rect);
void update_mhi( IplImage* img IplImage* dst int diff_threshold );
int main()
{
IplImage* motion = NULL;
IplImage* image;
CvCapture* capture = NULL;
capture = cvCaptureFromFile(“01.avi“);//打开文件
if( !cvGrabframe( capture ))
printf( “Can not open video file %s\n“);
cvNamedWindow( “Motion“ 1 ); //窗口命名
cvNamedWindow( “temp“ 2 ); //窗口命名
cvNamedWindow( “temp2“ 3 ); //窗口命名
cvNamedWindow( “temp3“ 4 ); //窗口命名
// cvNamedWindow( “temp4“ 4 ); //窗口命名
cvMoveWindow(“Motion“ 0 100 );
cvMoveWindow(“temp“ 300 100 );
cvMoveWindow(“temp2“ 650 100 );
cvMoveWindow(“temp3“ 950 100 );
// cvMoveWindow(“temp4“ 1200 100 );
for(int i=0;i<4;i++) //初始化跟踪结构体
for(int j=0;j<5;j++)
{
TrackBlock[i][j].Direction=0;
TrackBlock[i][j].framesTracked=0;
TrackBlock[i][j].avgX=0;
TrackBlock[i][j].avgY=0;
}
if( capture )
{
while(image = cvQueryframe(capture))//获取视频
{
nFrmNum++;
image = cvRetrieveframe(capture0 );
if(nFrmNum == 1)
{
motion = cvCreateImage( cvSize(image->widthimage->height) 8 1 );//创建图像
cvZero( motion ); //置0
motion->origin = image->origin; //对其原点
}
update_mhi( image motion 60 ); //更新
cvShowImage( “Motion“ image ); //显示图像
if( cvWaitKey(10) >= 0 ) //如果等待错过10 则跳出循环
break;
}
cvReleaseCapture( &capture ); //释放捕获
cvDestroyWindow( “Motion“ ); //销毁窗口
}
return 0;
}
// 参数:
// img – 输入视频帧
// dst – 检测结果
void update_mhi( IplImage* img IplImage* dst int diff_threshold )
{
double timestamp = clock()/100.; // get current time in seconds
int i idx1 idx2;
int avgX1 = 0;
int avgY1 = 0;
CvSize size = cvSize(img->widthimg->height); // get current frame size
IplImage* silh;
/*********************************/IplImage* pyr = cvCreateImage( cvSize((size.width & -2)/2 (size.height & -2)/2) 8 1 );
/*-2补码 11111111 11111111 11111111 11111110 那么size.width & -2就是把最后一位width的最后一位置0,
下面分析为什么要把最后一位置为0
如果源图像的width为奇数,则通过和-2相与,最后一位设为0,相当于图像width减小了1,然后再除以2,刚好为源图像分配了一半的width*/
CvMemStorage *s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 57475072 2015-05-29 10:22 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\ipch\opencv car2-29fcdb31\opencv car2-8b8a31d.ipch
文件 4343534 2015-04-13 16:15 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\01.avi
文件 10722 2017-06-23 22:16 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\motiondetect2 fenzhen.cpp
文件 10969 2015-05-13 11:25 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\motiondetect2 jishu hanshu.cpp
文件 9288 2015-05-12 22:13 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\motiondetect2.cpp
文件 4891 2015-04-23 11:22 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\opencv cvCalcOpticalFlowHS.cpp
文件 32646 2015-04-20 23:50 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\opencv car2.cpp
文件 7889 2017-06-23 20:13 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\opencv car2.vcxproj
文件 959 2015-05-13 11:38 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\opencv car2.vcxproj.filters
文件 143 2015-04-20 17:57 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\opencv car2.vcxproj.user
文件 14198 2008-07-12 15:25 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\OpenVideo.cpp
文件 0 2015-05-14 20:39 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\sechost.pdb\A88565B0437A42C5A7D3F0FC056501221\sechost.pd_
文件 3061 2015-05-12 19:50 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\test.cpp
文件 2438 2011-10-06 16:08 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\TrackandIDDlg.h
文件 864 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\cl.command.1.tlog
文件 12332 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\CL.read.1.tlog
文件 762 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\CL.write.1.tlog
文件 2 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 2 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 2 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 2 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 2528 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 4744 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 952 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\li
文件 250420 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\motiondetect2 fenzhen.obj
文件 3597 2017-06-23 22:15 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\opencv car2.Build.CppClean.log
文件 165 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\opencv car2.lastbuildstate
文件 2426 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\opencv car2.log
文件 642048 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\vc110.idb
文件 1257472 2017-06-23 22:20 opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\vc110.pdb
............此处省略23个文件信息
相关资源
- opencv2.2.0
- opencv2.2.0版本
- Opencv2.0.0
- 纸张计数测量.zip
- 人脸姿态估计数据集
- opencv 2.4.10_vs2008_x86库
- 自用pc微信 加计数器,加粉工作室必
- OpenCV2.4x中文参考手册
- 用4.3.2交叉编译好的opencv2.4.9所需依赖
- OpenCV2.3.1 win版安装包3
- 基于OpenCV的智能视频监控系统设计源
- opencv2.4.4库(.h/.lib/.dll)
- opencv2.4.9 相机定标及图像矫正
- opencv2+vs2013实现表情识别 ,SVM+BP神经
- 基于OpenCV的车辆监测与计数
- 利用VS编写的基于Opencv大米计数程序
- 头部姿态估计数据集
- opencv2.4.1-源码
- OpenCV2.3.1 win版安装包2
- 用两个摄像头实现,双目标定,双目
- opencv3书本配套代码opencv2程序
- opencv2计算机视觉编程手册中文清晰扫
- 数学建模之全球环境统计数据一
- shanghaitech数据集
- 自己动手设计数据库
- 篮球竞赛30s计数器
- opencv-2.4.9.zip
- 四位数字频率计数码管显示.zip
- 基于VS2015+0pencv2413的人脸识别程序
- opencv2计算机视觉编程手册书籍+源代码
评论
共有 条评论