资源简介
在zouxy09大神单尺度c++版STC代码的基础上进行了多尺度复现 并解决了边界处理问题 望学习STC的同学共同交流啊
代码片段和文件信息
#include “STCTracker.h“
#include
#include
#include
#include
#include
// Global variables
Rect box;
bool drawing_box = false;
bool gotBB = false;
// 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 main(int argc char * argv[])
{
VideoCapture capture;
capture.open(“C:\\Users\\Administrator\\Desktop\\David.avi“);
bool fromfile = true;
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 );
Mat framefirstgrayImg;
capture >> frame;
frame.copyTo(first);
while(!gotBB)
{
first.copyTo(frame);
rectangle(frameboxScalar(25500)2);
imshow(“Tracker“ frame);
if (cvWaitKey(20) == 27)
return 1;
}
//Remove callback
cvSetMouseCallback(“Tracker“ NULL NULL );
printf(“Initial= x:%d y:%d h:%d w:%d\n“box.xbox.ybox.heightbox.width);
cvtColor(frame grayImg CV_RGB2GRAY);
STCTracker stcTracker;
stcTracker.init(grayImg box);
int frameCount = 0;
while (capture.read(frame))
{
if (frame.empty())
return -1;
double t = (double)cvGetTickCount();
frameCount++;
cvtColor(frame grayImg CV_RGB2GRAY);
stcTracker.tracking(grayImg box frameCount);
// 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;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2347 2015-06-05 20:33 多尺度STC_C++\runTracker.cpp
文件 8300 2015-06-05 20:32 多尺度STC_C++\STCTracker.cpp
文件 1585 2015-06-05 14:37 多尺度STC_C++\STCTracker.h
目录 0 2015-06-08 10:48 多尺度STC_C++
----------- --------- ---------- ----- ----
12232 4
- 上一篇:基于51单片机的数字频率计程序仿真图及代码
- 下一篇:电能表软件系统设计
相关资源
- stc8a四串口程序.txt
- stc-isp-15xx-v6.69
- keil STC系列芯片库
- 指纹锁(门禁应用).rar
- STC15XX元件库
- RN8302B智能电表芯片程序基于STC12系列
- Tree和ListCtrl的完美结合
- 单片机控制GSM模块TC35的方法
- STC89C52单片机最小系统原理图、PCB文件
- OpenCV多尺度检测
- CListCtrl 使用演示的
- CListCtrl自绘CheckBox
- 基于TL431电压基准的STC15W408AS-10位AD转
- CListCtrlEx扩展列表控件
- restclient--火狐插件
- STC15+sht30
- 自定义ListCtrl控件CustomListCtrl
- testcomplete7.2企业版注册机
- RC522基于STC89C52 带上位机C源程序
- ActiveX Control Test Container(免积分)
- adc0808简单的实验用lcd1602显示电压有仿
- 基于STC89c52 的环境数据采集 DHT11+BH
- stc-isp-15xx-v6.82E
- MCGS_ModBusTCP样例
- STC12C5410AD最小系统完整PCB工程
- 基于STC15单片机12864万年历
- STC12C5A60S2 AD转换程序
- 基于stc89c52单片机的水温控制系统
- 模拟IO,iic从机模式移植性强,串口中
- 基于stc89c52单片机的智能计算器代码
评论
共有 条评论