def get_aruco_src(pic, info, dictionary, selected_ids): # 第一个aruco码一定要检测出来(原点) # pic: 图片 # info: aruco信息 # selected_ids: 选中的id,有顺序从左往右,从上往下 # aix_delta: 左上角的像素在原图中的位置 #start_time = time.time() aix_delta = info["cut_info"][0], info["cut_info"][2] corners, ids, rejectedImgPoints = cv2.aruco.detectMarkers(image=pic, dictionary=dictionary, parameters=None, ) if ids is None or len(corners) == 0: return None aruco_src = {} #end_time = time.time() #print("get_aruco_src耗时:{:.5f}秒".format(end_time - start_time)) for i in range(len(ids)): if str(int(ids[i])) in selected_ids: aruco_src[str(int(ids[i]))] = (corners[i].reshape(-1, 2) + aix_delta).tolist() return aruco_src
时间: 2024-02-14 17:18:40 浏览: 158
python 使用get_argument获取url query参数
这段代码是用于获取图片中指定ArUco标记的四个角点坐标的函数。其中,pic表示输入的图片,info是ArUco标记的信息,dictionary是ArUco标记的字典,selected_ids是需要检测的标记的id列表。函数使用cv2库中的detectMarkers函数来检测图片中的ArUco标记,其中corners表示检测到的标记的四个角点坐标,ids表示检测到的标记的id,rejectedImgPoints表示未检测到的标记的四个角点坐标。如果未检测到指定的标记或者没有检测到任何标记,则返回None。如果检测到了指定的标记,则遍历ids和corners,将id在selected_ids中的标记的四个角点坐标保存在aruco_src字典中,并将坐标点加上aix_delta偏移量。最终返回aruco_src字典,其中包含了指定标记的四个角点在像素坐标系下的坐标。
阅读全文