J'ai un projet dans lequel je dois utiliser OpenCV pour détecter un objet (balle de tennis) sur une webcam, et pour un bonus de crédit, le suivre quand je le roule sur la table.Projet OpenCV simple - détection et suivi d'une balle de tennis
Je n'ai pas eu beaucoup de chance de trouver des informations à ce sujet, puisque j'utilise OpenCV 2.4, C++, et beaucoup d'informations sont dans la version plus ancienne d'OpenCV. J'ai lu beaucoup de différentes façons de le faire, mais je ne sais pas comment l'implémenter dans mon code.
Toute aide serait appréciée, en particulier sur la façon d'intégrer une fonction de détection/suivi dans mon code
Voici mon code jusqu'à présent, je pense que le code de détection d'image/suivi devrait aller après avoir appliquer les filtres:
//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;
}
S'il s'agit de devoirs, veuillez utiliser la balise [devoirs]. – Chris