2016-02-09 4 views
3

Я работаю с Python и OpenCV 3.0, и я пытаюсь оценить дескриптор SIFT для двух изображений. Более конкретно, меня интересует повторяемость. В C++ есть такая функция, которая используется для выполнения оценки:OpenCV valuFeatureDetector для Python?

cv::evaluateFeatureDetector(img_1c, img_2c, h12, &key_points_1, &key_points_2, repeatability, corrCounter); 

Однако я не нашел реализацию в Python, и я не понимаю, как (и если) я мог бы использовать эту функцию. Есть ли другой способ вычисления частоты повторяемости в python?

ответ

-1

Это синтаксис:

void cv::evaluateFeatureDetector ( const Mat &  img1, 
const Mat &  img2, 
const Mat &  H1to2, 
std::vector<KeyPoint> * keypoints1, 
std::vector<KeyPoint> * keypoints2, 
float &  repeatability, 
int & correspCount, 
const Ptr<FeatureDetector> & fdetector = Ptr<FeatureDetector>() 
) 

img1 и img2 являются два изображения, которые вы хотите, чтобы соответствовать, H1to2 матрица гомография, которая может быть Процент от так:

H1to2 = cv::findHomography(std::vector<cv::Point2f> srcPoints , std::vector<cv::Point2f> refPoints, CV_RANSAC, 1); 

srcPoints и refPoints получены после выполнения сопоставления функций.

повторяемость и соответствие. Результат - функция.

+0

Я понимаю, как работает критерий скорости повторения, мне просто интересно, есть ли эквивалентная функция в Python. До сих пор я пытался написать свой собственный код, но все же мне нужно его проверить, чтобы увидеть, производит ли он такие же результаты, как «cv :: valuFeatureDetector» в C++ – GStav

+0

Но спасибо за ваш ответ! – GStav

+0

Вы не отвечаете на вопрос @GStav. –