Created
February 9, 2023 21:45
-
-
Save Merwanski/59aacd69f605654f3bb0d9b561ca4b19 to your computer and use it in GitHub Desktop.
guess aruco type
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# import the necessary packages | |
import argparse | |
import imutils | |
import cv2 | |
# construct the argument parser and parse the arguments | |
ap = argparse.ArgumentParser() | |
ap.add_argument("-i", "--image", required=True, help="path to input image containing ArUCo tag") | |
args = vars(ap.parse_args()) | |
# define names of each possible ArUco tag OpenCV supports | |
ARUCO_DICT = { | |
"DICT_4X4_50": cv2.aruco.DICT_4X4_50, | |
"DICT_4X4_100": cv2.aruco.DICT_4X4_100, | |
"DICT_4X4_250": cv2.aruco.DICT_4X4_250, | |
"DICT_4X4_1000": cv2.aruco.DICT_4X4_1000, | |
"DICT_5X5_50": cv2.aruco.DICT_5X5_50, | |
"DICT_5X5_100": cv2.aruco.DICT_5X5_100, | |
"DICT_5X5_250": cv2.aruco.DICT_5X5_250, | |
"DICT_5X5_1000": cv2.aruco.DICT_5X5_1000, | |
"DICT_6X6_50": cv2.aruco.DICT_6X6_50, | |
"DICT_6X6_100": cv2.aruco.DICT_6X6_100, | |
"DICT_6X6_250": cv2.aruco.DICT_6X6_250, | |
"DICT_6X6_1000": cv2.aruco.DICT_6X6_1000, | |
"DICT_7X7_50": cv2.aruco.DICT_7X7_50, | |
"DICT_7X7_100": cv2.aruco.DICT_7X7_100, | |
"DICT_7X7_250": cv2.aruco.DICT_7X7_250, | |
"DICT_7X7_1000": cv2.aruco.DICT_7X7_1000, | |
"DICT_ARUCO_ORIGINAL": cv2.aruco.DICT_ARUCO_ORIGINAL, | |
"DICT_APRILTAG_16h5": cv2.aruco.DICT_APRILTAG_16h5, | |
"DICT_APRILTAG_25h9": cv2.aruco.DICT_APRILTAG_25h9, | |
"DICT_APRILTAG_36h10": cv2.aruco.DICT_APRILTAG_36h10, | |
"DICT_APRILTAG_36h11": cv2.aruco.DICT_APRILTAG_36h11 | |
} | |
# load the input image from disk and resize it | |
print("[INFO] loading image...") | |
image = cv2.imread(args["image"]) | |
image = imutils.resize(image, width=600) | |
# loop over the types of ArUco dictionaries | |
for (arucoName, arucoDict) in ARUCO_DICT.items(): | |
# load the ArUCo dictionary, grab the ArUCo parameters, and | |
# attempt to detect the markers for the current dictionary | |
arucoDict = cv2.aruco.Dictionary_get(arucoDict) | |
arucoParams = cv2.aruco.DetectorParameters_create() | |
(corners, ids, rejected) = cv2.aruco.detectMarkers( | |
image, arucoDict, parameters=arucoParams) | |
# if at least one ArUco marker was detected display the ArUco | |
# name to our terminal | |
if len(corners) > 0: | |
print("[INFO] detected {} markers for '{}'".format(len(corners), arucoName)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment