OpenCV ArUco标记检测

oprakyz7  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(93)

我试图在图像上检测ArUco标记,但OpenCV没有检测到标记。我认为这可能是因为分辨率低,但我不确定。
我使用this tool生成一个4x4的ID。
以下是我的代码:

aruco_dict = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_100)

def find_marker(img, x1, y1, x2, y2):
    img = img[y1:y2, x1:x2]
    img = imutils.resize(img, width=500)
    cv2.imshow('result', img)
    cv2.waitKey(0)
    corners, ids, rej = cv2.aruco.detectMarkers(img, aruco_dict)
    print(corners)
    print(ids)

字符串
当运行代码时,这是cv.imshow向我显示的图像:

正如你所看到的,有一个较低分辨率的ArUco标签,但它仍然是可读的。然而,代码打印出None用于id,空的()用于角。

arknldoa

arknldoa1#

你需要有一个白色边界周围的所有四个边缘的标记。
检测首先检查图像中的方形。如果标记周围没有白色边框,则无法检测标记的外部方形。

相关问题