diff --git a/MeoAssistance/Identify.cpp b/MeoAssistance/Identify.cpp index 55a4c86510..278ab56052 100644 --- a/MeoAssistance/Identify.cpp +++ b/MeoAssistance/Identify.cpp @@ -86,7 +86,7 @@ std::pair, cv::Mat> asst::Identify::surf_detect(const constexpr int min_hessian = 400; // SURF特征点检测 - cv::Ptr detector = SURF::create(min_hessian); + static cv::Ptr detector = SIFT::create(min_hessian); std::vector keypoints; cv::Mat mat_vector; // 找到特征点并计算特征描述子(向量) @@ -191,7 +191,7 @@ std::optional asst::Identify::feature_match( std::vector good_matchs; std::vector good_points; // TODO,这个阈值需要根据分辨率进行缩放,而且最好写到配置文件里 - constexpr static int DistanceThreshold = 200; + constexpr static int DistanceThreshold = 100; for (size_t i = 0; i != train_ransac_keypoints.size(); ++i) { // 没必要算距离,x y各算一下就行了,省点CPU时间 //int distance = std::sqrt(std::pow(avg_point.x - cur_x, 2) + std::pow(avg_point.y - cur_y, 2)); diff --git a/MeoAssistance/IdentifyOperTask.cpp b/MeoAssistance/IdentifyOperTask.cpp index 97ce174916..897e0bce2b 100644 --- a/MeoAssistance/IdentifyOperTask.cpp +++ b/MeoAssistance/IdentifyOperTask.cpp @@ -159,6 +159,8 @@ std::vector