• 大小: 16MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-13
  • 语言: 其他
  • 标签: 计数  opencv2  

资源简介

车辆分车道计数 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\link-cvtres.read.1.tlog

     文件          2  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link-cvtres.write.1.tlog

     文件          2  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link-rc.read.1.tlog

     文件          2  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link-rc.write.1.tlog

     文件       2528  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link.command.1.tlog

     文件       4744  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link.read.1.tlog

     文件        952  2017-06-23 22:20  opencv car2 车辆计数\opencv car2 车辆计数\opencv car2\opencv car2\x64\Debug\link.write.1.tlog

     文件     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个文件信息

评论

共有 条评论