如何检测低分辨率图像上的 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 无法解决这个问题。
我有一张图像,我想在其中检测 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 无法解决这个问题。