2012-06-18 3 views
3

У меня есть проект, где мне нужно использовать OpenCV для обнаружения объекта (теннисного мяча) на веб-камере и для получения бонусного кредита, отслеживайте его, когда я переворачиваю его по столу.Простой проект OpenCV - обнаружение и отслеживание теннисного мяча

Мне не повезло найти информацию об этом, так как я использую OpenCV 2.4, C++, и много информации находится в старой версии OpenCV. Я много читал о разных способах его выполнения, но я просто не знаю, как реализовать его в своем коде.

Любая помощь будет оценена, особенно о том, как интегрировать обнаружение/функцию отслеживания в мой код

Вот мой код до сих пор, я думаю, что обнаружение изображение/код отслеживания должен идти после того, как я применяю фильтры:

//Includes & Namespaces 
#include "cv.h" 
#include "highgui.h" 
#include <iostream> 
using namespace cv; 
using namespace std; 


//Main Function 
int main(int, char**) 
{ 
    VideoCapture vid(0); //Capture from Webcam 
    if(!vid.isOpened()) //Error Check for Webcam 
    { 
     cout << "Could not open camera" << endl; 
     return -1; 
    } 

    Mat pic; //Create Matrix to store image 
    namedWindow("video",1); //Open Window 

    for(;;) //Infinite loop 
    { 
     Mat frame; //Create Matrix for a single frame 
     vid >> frame; //Transfer from webcam to matrix 

     //Filters 
     cvtColor(frame, pic, CV_BGR2HSV); 
     GaussianBlur(pic, pic, Size(7,7), 1.5, 1.5); 

     /*Image Detection Here */   

     imshow("Picture", pic); //Show image 

     if(waitKey(30) >= 0) 
     break; 
    } 
    return 0; 
} 
+0

Если это домашнее задание, используйте тег [домашняя работа]. – Chris

ответ

9

Вы пытались решить свой вопрос? Об этом много информации.

Простая идея следующая: обнаружение вашего объекта с помощью color thresholding (кажется, что это желтый или белый цвет) и circle detection. После того, как мяч будет декомфицирован, вам нужно просто отследить его, используя (например) Lucas-Kanade method.

Вот некоторые руководства/руководства:

  1. Tracking colored objects OpenCV
  2. Motion Analysis and Object Tracking
  3. Learning OpenCV
  4. Посмотрите на папку OpenCV в samples. Есть много очень полезных примеров. В вашей ситуации лучшим примером является samples/cpp/lkdemo.cpp.
Смежные вопросы