我正在尝试检测这幅图像中的ArUco标记:

使用此代码:
import cv2
import cv2.aruco as aruco
import numpy as np
def findArucoMarkers(img, markerSize = 5, totalMarkers=250, draw=True):
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
key = getattr(aruco, f'DICT_{markerSize}X{markerSize}_{totalMarkers}')
arucoDict = aruco.Dictionary_get(key)
arucoParam = aruco.DetectorParameters_create()
bboxs, ids, rejected = aruco.detectMarkers(gray, arucoDict, parameters = arucoParam)
print(ids)
if draw:
aruco.drawDetectedMarkers(img, bboxs)
return [bboxs, ids]
path = ""
imName= "test3.png"
img = cv2.imread(path+imName)
arucofound = findArucoMarkers(img, markerSize = 5)
cv2.imshow('img',img)
cv2.waitKey(0)可悲的是,没有检测到任何标记!你能告诉我怎样才能正确地检测到这些标记吗?提前谢谢。
编辑:
标记是从这个ID::在线生成的网站 5x5。
照相机用Asus Xtion Live Pro。
发布于 2022-02-16 07:56:45
这幅画是标记的镜像。
ArUco标记在镜像时不会被解码。
防止/撤消镜像。查找执行此操作的设备/驱动程序设置。
flipped = cv.flip(img, 1)在Y轴上翻转图像.
https://stackoverflow.com/questions/71126639
复制相似问题