私は、OpenCV を使用して Web カメラ上のオブジェクト (テニス ボール) を検出する必要があるプロジェクトを持っています。ボーナス クレジットとして、テーブルの上を転がしたときにそれを追跡します。
私は 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;
}