Mat i1 = imread("1.jpg", 0); //read as a gray scale image
Mat i2 = imread("2.jpg", 0); //reas as a gray scale image
Mat flowMat;
vector <Point2f> i1_corner, i2_corner;
vector <uchar> status;
vector <float> err;
goodFeaturesToTrack(i1,
我用cv::calcOpticalFlowFarneback计算了当前和以前视频帧中的光流,并在openFrameworks中用ofxOpenCv计算了光流。
然后,我用光流场在顶部绘制视频,然后绘制向量,显示在某个阈值以上的区域的运动流。
我现在要做的是创建一个运动区域的边界框,得到质心,并将x,y位置存储在一个变量中,用于跟踪。
如果这有帮助的话,我就是这样画出我的流场的。
if (calculatedFlow){
ofSetColor( 255, 255, 255 );
video.draw( 0, 0);
int w = gray1.width;
int