资源简介

c++ 实现 ,基于opencv的 视觉跟踪 代码,使用前请按照网上教程正确配置opencv3。

资源截图

代码片段和文件信息

#include “opencv2/core.hpp“
#include “opencv2/imgproc.hpp“
#include “opencv2/highgui.hpp“
#include “opencv2/videoio.hpp“
#include 
#include 
#include 
#include 
#include 
#include 
#include 

//#include   
//#pragma comment ( lib “kinect20.lib“ )  

using namespace cv;
using namespace std;

int main() {
// can change to BOOSTING MIL KCF (OpenCV 3.1) TLD MEDIANFLOW or GOTURN (OpenCV 3.2)
Ptr tracker = Tracker::create(“KCF“);
VideoCapture video(0);
if (!video.isOpened()) {
cerr << “cannot read video!“ << endl;
return -1;
}
Mat frame;
video.read(frame);
Rect2d box(270 120 180 260);
tracker->init(frame box);
while (video.read(frame)) {
tracker->update(frame box);
rectangle(frame box Scalar(255 0 0) 2 1);



imshow(“Tracking“ frame);
char k = waitKey(1);
if (k == 27) break;
else if (k == ‘f‘)
{
cout<<“!!!“< Rect2d box1(10 10 180 260);
box = box1;
Ptr tracker1 = Tracker::create(“KCF“);

tracker1->init(frame box);
tracker = tracker1;
}
}
}



//#include “opencv2/core.hpp“
//#include “opencv2/imgproc.hpp“
//#include “opencv2/highgui.hpp“
//#include “opencv2/videoio.hpp“
//#include 
//#include 
//#include 
//#include 
//#include 
//#include 
//#include 
//#include 
//#include   
//#pragma comment ( lib “kinect20.lib“ )  
//
//using namespace cv;
//using namespace std;
//
//const string fileform = “.jpg“;
//const string perfileReadPath = “Samples“;
//const string perfileBackPath = “Backs“;
//
//string  fileName filePath;
//char tempc[256];
//int flagback = 0 k = 0 j = 0;//每一类读取图像个数计数
//
//int main()
//{
// HRESULT hResult;     //用于检测操作是否成功
// IKinectSensor *kinect;           //创建一个感应器
// GetDefaultKinectSensor(&kinect);
// kinect->Open();     //打开感应器
// IColorframeSource *colorsource;
// IColorframeReader *colorreader;
// iframeDescription *colorde;
// kinect->get_ColorframeSource(&colorsource);
// colorsource->OpenReader(&colorreader);
// colorsource->get_frameDescription(&colorde);
// Rect2d roi;
// Ptr tracker = Tracker::create(“KCF“);
// int width = 0;      //长和宽
// int hight = 0;
// colorde->get_Height(&hight);
// colorde->get_Width(&width);
// Mat a(hight width CV_8UC4);      //注意:这里必须为4通道的图,Kinect的数据只能以Bgra格式传出
// Mat trac;
// Mat roi1 roi2;
// int backwidth backheight;
// int flag = 0;
//
// cout << “\n\nHot keys: \n“
// “\tESC - quit the program\n“
// “\ts - save the picture you want \n“ 
// “\tb - save the backup picture you want \n“ << endl;
//
// while(flag==0)
// {
//
// IColorframe*frame;
// hResult = colorreader->AcquireLatestF

评论

共有 条评论