• 大小: 107KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 目标跟踪  

资源简介

本文开发平台是VisualStudio2012+opencv结合多线程实现实时场景下目标的跟踪,本代码提供于此,共大家参考使用,使研究本领域的同仁能够开拓视野,节省时间

资源截图

代码片段和文件信息

//
// Created by erick on 4/4/15.
//

#include 
#include 
#include 
#include 
#include 
#include “Zippo.h“

using namespace cv;
//initial min and max HSV filter values.
//these will be changed using trackbars
int H_MIN = 0;
int H_MAX = 256;
int S_MIN = 0;
int S_MAX = 256;
int V_MIN = 0;
int V_MAX = 256;
//default capture width and height
const int frame_WIDTH = 640;
const int frame_HEIGHT = 480;
//max number of objects to be detected in frame
const int MAX_NUM_objectS=50;
//minimum and maximum object area
const int MIN_object_AREA = 20*20;
const int MAX_object_AREA = frame_HEIGHT*frame_WIDTH/1.5;
//names that will appear at the top of each window
const string windowName = “Original Image“;
const string windowName1 = “HSV Image“;
const string windowName2 = “Thresholded Image“;
const string windowName3 = “After Morphological Operations“;
const string trackbarWindowName = “Trackbars“;
//Multithreading stuff
pthread_t thread1 thread2;
int ret_thread;

//Function Declerations
void* lookforobject(void *ofd_ptr);


void on_trackbar( int void* )
{//This function gets called whenever a
    // trackbar position is changed
}
string intToString(int number){
    std::stringstream ss;
    ss << number;
    return ss.str();
}
void createTrackbars(){
    namedWindow(trackbarWindowName0);
    char TrackbarName[50];
    sprintf( TrackbarName “H_MIN“ H_MIN);
    sprintf( TrackbarName “H_MAX“ H_MAX);
    sprintf( TrackbarName “S_MIN“ S_MIN);
    sprintf( TrackbarName “S_MAX“ S_MAX);
    sprintf( TrackbarName “V_MIN“ V_MIN);
    sprintf( TrackbarName “V_MAX“ V_MAX);

    createTrackbar( “H_MIN“ trackbarWindowName &H_MIN H_MAX on_trackbar );
    createTrackbar( “H_MAX“ trackbarWindowName &H_MAX H_MAX on_trackbar );
    createTrackbar( “S_MIN“ trackbarWindowName &S_MIN S_MAX on_trackbar );
    createTrackbar( “S_MAX“ trackbarWindowName &S_MAX S_MAX on_trackbar );
    createTrackbar( “V_MIN“ trackbarWindowName &V_MIN V_MAX on_trackbar );
    createTrackbar( “V_MAX“ trackbarWindowName &V_MAX V_MAX on_trackbar );

}
void drawobject(Vector zips Mat &frame){
    //added ‘if‘ and ‘else‘ statements to prevent
    //memory errors from writing off the screen (ie. (-25-25) is not within the window
    for (int i = 0; i < zips.size(); ++i) {
        circle(frame Point(zips.operator[](i).getX() zips.operator[](i).getY()) 20 Scalar(0 255 0) 2);
        if (zips.operator[](i).getY() - 25 > 0)
            line(frame Point(zips.operator[](i).getX() zips.operator[](i).getY()) Point(zips.operator[](i).getX() zips.operator[](i).getY() - 25) Scalar(0 255 0) 2);
        else line(frame Point(zips.operator[](i).getX() zips.operator[](i).getY()) Point(zips.operator[](i).getX() 0) Scalar(0 255 0) 2);
        if (zips.operator[](i).getY() + 25 < frame_HEIGHT)
            line(frame Point(zips.operator[](i).getX() zips.operator[](i).getY()) Point(zips.operator[](i)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-04-05 02:58  object-Tracking-master\
     文件          78  2015-04-05 02:58  object-Tracking-master\Readme.md
     目录           0  2015-04-05 02:58  object-Tracking-master\bin\
     文件      299624  2015-04-05 02:58  object-Tracking-master\bin\opencv_tracking
     目录           0  2015-04-05 02:58  object-Tracking-master\src\
     文件         291  2015-04-05 02:58  object-Tracking-master\src\CMakeLists.txt
     文件        1241  2015-04-05 02:58  object-Tracking-master\src\Zippo.cpp
     文件         770  2015-04-05 02:58  object-Tracking-master\src\Zippo.h
     文件       11921  2015-04-05 02:58  object-Tracking-master\src\main.cpp

评论

共有 条评论