• 大小: 12.92MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-19
  • 语言: C/C++
  • 标签: 跟踪算法  opencv  

资源简介

时空上下文跟踪算法,是最近几年出来比较新的跟踪,基友opencv和c++编写,配置好后可以直接运行,跟踪效果理想,对于跟踪一块理解非常好

资源截图

代码片段和文件信息

// RunSTC.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

#include “STCtracker.h“  

// Global variables  
Rect box;  
bool drawing_box = false;  
bool gotBB = false;  

char srcvideo[] = “E:\\vs调试\\测试视频\\camera1_mov.avi“;

// bounding box mouse callback  
void mouseHandler(int event int x int y int flags void *param){  
switch( event ){  
case CV_EVENT_MOUSEMOVE:  
if (drawing_box){  
box.width = x-box.x;  
box.height = y-box.y;  
}  
break;  
case CV_EVENT_LBUTTONDOWN:  
drawing_box = true;  
box = Rect( x y 0 0 );  
break;  
case CV_EVENT_LBUTTONUP:  
drawing_box = false;  
if( box.width < 0 ){  
box.x += box.width;  
box.width *= -1;  
}  
if( box.height < 0 ){  
box.y += box.height;  
box.height *= -1;  
}  
gotBB = true;  
break;  
}  
}  


int _tmain(int argc _TCHAR* argv[])
{
/*VideoCapture capture;  
capture.open(srcvideo);  */
bool fromfile = true;  
CvCapture* capture = cvCaptureFromFile(“E:\\vs调试\\测试视频\\skating1(low frame rate).avi“);


/*if (!capture.isOpened())  
{  
cout << “capture device failed to open!“ << endl;  
return -1;  
}  */
//Register mouse callback to draw the bounding box  
cvNamedWindow(“Tracker“ CV_WINDOW_AUTOSIZE);  
cvSetMouseCallback(“Tracker“ mouseHandler NULL );   
/*capture >> frame;  */
Mat frame;  
frame = cvQueryframe(capture);
imshow(“Tracker“ frame);  
while(!gotBB)  
{  
if (!fromfile)  
frame = cvQueryframe(capture);
/*capture >> frame;  */

imshow(“Tracker“ frame);  
if (cvWaitKey(20) == 27)  
return 1;  
}  
//Remove callback  
cvSetMouseCallback(“Tracker“ NULL NULL );  

box.x = 162;
box.y = 170;
box.width = 35;
box.height = 100;

STCTracker stcTracker;  
stcTracker.init(frame box);  

int frameCount = 0;  
while (1)  
{  
/*capture >> frame;  */
frame = cvQueryframe(capture);
if (frame.empty())  
return -1;  
double t = (double)cvGetTickCount();  
frameCount++;  

// tracking  
stcTracker.tracking(frame box);      

// show the result  
stringstream buf;  
buf << frameCount;  
string num = buf.str();  
putText(frame num Point(20 30) FONT_HERSHEY_SIMPLEX 1 Scalar(0 0 255) 3);  
rectangle(frame box Scalar(0 0 255) 3);  
imshow(“Tracker“ frame);  

t = (double)cvGetTickCount() - t;  
cout << “cost time: “ << t / ((double)cvGetTickFrequency()*1000.) << endl;  

if ( cvWaitKey(1) == 27 )  
break;  
}  
return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-04-12 22:27  RunSTC\
     目录           0  2016-04-11 21:30  RunSTC\Debug\
     文件      103936  2016-04-11 22:05  RunSTC\Debug\RunSTC.exe
     文件      876248  2016-04-11 22:05  RunSTC\Debug\RunSTC.ilk
     文件     1797120  2016-04-11 22:05  RunSTC\Debug\RunSTC.pdb
     目录           0  2016-04-12 22:10  RunSTC\ipch\
     目录           0  2016-04-12 22:10  RunSTC\ipch\runstc-7ef7deaf\
     文件     2359296  2016-04-12 22:10  RunSTC\ipch\runstc-7ef7deaf\runstc-fc2a456b.ipch
     目录           0  2016-04-11 21:29  RunSTC\RunSTC\
     文件    35868672  2016-04-12 22:27  RunSTC\RunSTC.sdf
     文件         885  2016-04-11 21:21  RunSTC\RunSTC.sln
     文件       12288  2016-04-12 22:27  RunSTC\RunSTC.suo
     目录           0  2016-04-11 22:05  RunSTC\RunSTC\Debug\
     文件        2712  2016-04-11 22:05  RunSTC\RunSTC\Debug\cl.command.1.tlog
     文件       52506  2016-04-11 22:05  RunSTC\RunSTC\Debug\CL.read.1.tlog
     文件        1178  2016-04-11 22:05  RunSTC\RunSTC\Debug\CL.write.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link-cvtres.read.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link-cvtres.write.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.7380-cvtres.read.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.7380-cvtres.write.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.7380.read.1.tlog
     文件           2  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.7380.write.1.tlog
     文件        2202  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.command.1.tlog
     文件        4464  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.read.1.tlog
     文件         734  2016-04-11 22:05  RunSTC\RunSTC\Debug\link.write.1.tlog
     文件         346  2016-04-11 22:05  RunSTC\RunSTC\Debug\mt.command.1.tlog
     文件         250  2016-04-11 22:05  RunSTC\RunSTC\Debug\mt.read.1.tlog
     文件         250  2016-04-11 22:05  RunSTC\RunSTC\Debug\mt.write.1.tlog
     文件         454  2016-04-11 21:30  RunSTC\RunSTC\Debug\rc.command.1.tlog
     文件         222  2016-04-11 21:30  RunSTC\RunSTC\Debug\rc.read.1.tlog
     文件         230  2016-04-11 21:30  RunSTC\RunSTC\Debug\rc.write.1.tlog
............此处省略22个文件信息

评论

共有 条评论