未检测到 ArUco 标记

ArUco Markers are not detected

我正在尝试检测此图像中的 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)

遗憾的是,没有检测到标记!你能告诉我如何正确检测标记吗?提前致谢。

编辑:

标记是 5x5 从这个 website 在线生成的,ID:0, 2, 4, 12, 17

使用的相机Asus Xtion Live Pro.

图片是标记的镜像。

ArUco 标记在镜像时不会被解码。

Prevent/undo 镜像。找到执行此操作的 device/driver 设置。

flipped = cv.flip(img, 1) 围绕 Y-axis 翻转图像。