如何检测低分辨率图像上的 aruco 标记

How to detect aruco markers on low resolution image

我有一张图像,我想在其中检测 aruco 标记 DICT_4X4_50。然而,图像分辨率似乎是一个主要问题。但这很奇怪,因为 aruco 检测功能能够检测到很多困难图像上的标记,但不能检测到这个。有什么方法可以检测到它们吗?

我已经尝试更改检测器参数的一些参数值,但没有帮助,随机修改值似乎根本不是最佳选择。这是图像:

这是我的基本代码:


import cv2
from cv2 import aruco

img = cv2.imread('image.png')

aruco_dict = aruco.Dictionary_get(aruco.DICT_4X4_50)
parameters = aruco.DetectorParameters_create()

# Detect the markers.
corners, ids, rejectedImgPoints = aruco.detectMarkers(img,aruco_dict,parameters=parameters)

out = aruco.drawDetectedMarkers(img, corners, ids)

cv2.imshow("out",out)
cv2.waitKey(0)
cv2.destroyAllWindows()

谢谢!

在你的代码中你没有定义检测标记代码 cv2.detectMarkers()

找到问题了。符号垂直旋转。如果图像翻转,它会很好。 :P 难怪 Aruco 无法解决这个问题。