def match_scr(self, img): # 提取关键点特征信息 key = self.extract_features(img) # 提取输入图片的特征信息 sim = -1 # 相似度初始值为-1 ans = -1 # 匹配成功的地图编号初始值为-1 # self.img_set存了图片的文件名数组,挨个遍历 for i, j in self.img_set: # 特征匹配 matcher = cv.BFMatcher(cv.NORM_HAMMING, crossCheck=True) # 创建一个特征匹配器 try: matches = matcher.match(key, j) # 对输入图片的特征信息和地图图片的特征信息进行匹配 similarity_score = len(matches) / max(len(key), len(j)) # 计算相似度得分 if similarity_score > sim: # 如果相似度得分比之前的高 sim = similarity_score # 更新相似度得分 ans = i # 更新匹配成功的地图编号 except: # 如果匹配出错 pass log.info(f"地图编号:{ans} 相似度:{sim}") # 输出匹配结果 if sim < 0.5 and self.debug: # 如果相似度得分小于0.5且处于调试模式 time.sleep(1000000) # 程序暂停 return ans, sim # 返回匹配成功的地图编号和相似度得

def match_scrself img #提取关键点特征信息 key = selfextract_featuresimg sim = -1 ans = -1 #selfimg_set存了图片的文件名数组 挨个遍历 for i j in selfimg_set #特征匹配

原文地址: https://www.cveoy.top/t/topic/fFzh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录