0
Я хочу получить «EPE все EPE соответствует EPE непревзойденный d0-10 d10-60 d60-140 s0-10 s10-40 s40 +» результат оптического потока от «http://sintel.is.tue.mpg.de/results». Я использовал OpenCV 3, VC++ 2013, Win 7 64bit. и мне нужен пример кода для получения этих результатов.Оценка оптического потока
С уважением,
////////// редактировать
Исходный код оптического потока без оценки
Size img_sz = imgA.size();
Mat imgC(img_sz,1);
int win_size = 15;
int maxCorners = 20;
double qualityLevel = 0.05;
double minDistance = 5.0;
int blockSize = 3;
double k = 0.04;
std::vector<cv::Point2f> cornersA;
cornersA.reserve(maxCorners);
std::vector<cv::Point2f> cornersB;
cornersB.reserve(maxCorners);
goodFeaturesToTrack(imgA,cornersA,maxCorners,qualityLevel,minDistance,cv::Mat());
goodFeaturesToTrack(imgB,cornersB,maxCorners,qualityLevel,minDistance,cv::Mat());
cornerSubPix(imgA, cornersA, Size(win_size, win_size), Size(-1, -1),
TermCriteria(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03));
cornerSubPix(imgB, cornersB, Size(win_size, win_size), Size(-1, -1),
TermCriteria(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03));
// Call Lucas Kanade algorithm
CvSize pyr_sz = Size(img_sz.width+8, img_sz.height/3);
std::vector<uchar> features_found;
features_found.reserve(maxCorners);
std::vector<float> feature_errors;
feature_errors.reserve(maxCorners);
calcOpticalFlowPyrLK(imgA, imgB, cornersA, cornersB, features_found, feature_errors ,
Size(win_size, win_size), 5,
cvTermCriteria(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.3), 0);
// Make an image of the results
for(int i=0; i < features_found.size(); i++){
cout<<"Error is "<<feature_errors[i]<<endl;
//continue;
cout<<"Got it"<<endl;
Point p0(ceil(cornersA[i].x), ceil(cornersA[i].y));
Point p1(ceil(cornersB[i].x), ceil(cornersB[i].y));
line(imgC, p0, p1, CV_RGB(255,255,255), 2);
}
namedWindow("ImageA", 0);
namedWindow("ImageB", 0);
namedWindow("LKpyr_OpticalFlow", 0);
imshow("ImageA", imgA);
imshow("ImageB", imgB);
imshow("LKpyr_OpticalFlow", imgC);
cvWaitKey(0);
return 0;
}
}
Хороший знать, чего вы хотите ... но что вы сделали до сих пор? – Berriel