From 29c622e0bec2fe2dfa04dc660943c19755a005b3 Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 2 Sep 2021 18:28:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B2=E5=91=98=E8=AF=86=E5=88=AB=EF=BC=8C?= =?UTF-8?q?=E8=BD=AC=E4=B8=AA=E7=81=B0=E5=BA=A6=E5=9B=BE=E5=86=8D=E8=AF=86?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MeoAssistance/Identify.cpp | 4 ++-- MeoAssistance/IdentifyOperTask.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) 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