91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

識別視頻中的車輛,并畫一條界限,超過界限的車畫紅框,未超過的車畫綠框。分成三個車道,分別對超過界限的車輛分別計數。

資源截圖

代碼片段和文件信息

#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?sum[4]={0000};

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(“F:\\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?j?idx1?idx2;
????uchar?val;
????float?temp;
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*/
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-01-08?08:03??opencv?car2?車輛計數\
?????目錄???????????0??2016-01-10?19:40??opencv?car2?車輛計數\opencv?car2\
?????目錄???????????0??2016-01-08?08:03??opencv?car2?車輛計數\opencv?car2\ipch\
?????目錄???????????0??2016-01-08?08:03??opencv?car2?車輛計數\opencv?car2\ipch\opencv?car2-29fcdb31\
?????文件????57475072??2015-05-29?10:22??opencv?car2?車輛計數\opencv?car2\ipch\opencv?car2-29fcdb31\opencv?car2-8b8a31d.ipch
?????目錄???????????0??2016-01-10?19:39??opencv?car2?車輛計數\opencv?car2\opencv?car2\
?????文件?????7208960??2016-01-10?19:40??opencv?car2?車輛計數\opencv?car2\opencv?car2.sdf
?????文件????????1254??2015-04-20?23:49??opencv?car2?車輛計數\opencv?car2\opencv?car2.sln
?????文件???????23552??2015-05-29?10:38??opencv?car2?車輛計數\opencv?car2\opencv?car2.suo
?????文件???????45568??2016-01-10?19:40??opencv?car2?車輛計數\opencv?car2\opencv?car2.v11.suo
?????文件?????4343534??2015-04-13?16:15??opencv?car2?車輛計數\opencv?car2\opencv?car2\01.avi
?????文件???????10555??2015-05-29?10:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\motiondetect2?fenzhen.cpp
?????文件???????10969??2015-05-13?11:25??opencv?car2?車輛計數\opencv?car2\opencv?car2\motiondetect2?jishu?hanshu.cpp
?????文件????????9288??2015-05-12?22:13??opencv?car2?車輛計數\opencv?car2\opencv?car2\motiondetect2.cpp
?????文件????????4891??2015-04-23?11:22??opencv?car2?車輛計數\opencv?car2\opencv?car2\opencv???cvCalcOpticalFlowHS.cpp
?????文件???????32646??2015-04-20?23:50??opencv?car2?車輛計數\opencv?car2\opencv?car2\opencv?car2.cpp
?????文件????????7156??2016-01-10?19:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\opencv?car2.vcxproj
?????文件?????????959??2015-05-13?11:38??opencv?car2?車輛計數\opencv?car2\opencv?car2\opencv?car2.vcxproj.filters
?????文件?????????143??2015-04-20?17:57??opencv?car2?車輛計數\opencv?car2\opencv?car2\opencv?car2.vcxproj.user
?????文件???????14198??2008-07-12?15:25??opencv?car2?車輛計數\opencv?car2\opencv?car2\OpenVideo.cpp
?????目錄???????????0??2016-01-08?08:04??opencv?car2?車輛計數\opencv?car2\opencv?car2\sechost.pdb\
?????目錄???????????0??2016-01-08?08:04??opencv?car2?車輛計數\opencv?car2\opencv?car2\sechost.pdb\A88565B0437A42C5A7D3F0FC056501221\
?????文件???????????0??2015-05-14?20:39??opencv?car2?車輛計數\opencv?car2\opencv?car2\sechost.pdb\A88565B0437A42C5A7D3F0FC056501221\sechost.pd_
?????文件????????3061??2015-05-12?19:50??opencv?car2?車輛計數\opencv?car2\opencv?car2\test.cpp
?????文件????????2438??2011-10-06?16:08??opencv?car2?車輛計數\opencv?car2\opencv?car2\TrackandIDDlg.h
?????目錄???????????0??2016-01-08?08:04??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\
?????目錄???????????0??2016-01-10?19:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\Debug\
?????文件????????1398??2016-01-10?19:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\Debug\cl.command.1.tlog
?????文件???????21566??2016-01-10?19:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\Debug\CL.read.1.tlog
?????文件?????????784??2016-01-10?19:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\Debug\CL.write.1.tlog
?????文件???????????2??2015-05-29?10:36??opencv?car2?車輛計數\opencv?car2\opencv?car2\x64\Debug\link-cvtres.read.1.tlog
............此處省略58個文件信息

評論

共有 條評論