I’ve started a uni project that requires the use of ArUco markers, however I cannot get the code to work or any ArUco code for that matter.
I have gone through every ‘solution’ I can come across but no good.
I have installed the correct modules and the pip cv contrib installs that should allow it to work but i’m always getting the same error…
import cv2 as cv
from cv2 import aruco
# dictionary to specify type of the marker
marker_dict = aruco.Dictionary_get(aruco.DICT_6X6_250)
# MARKER_ID = 0
MARKER_SIZE = 400 # pixels
# generating unique IDs using for loop
for id in range(20): # genereting 20 markers
# using funtion to draw a marker
marker_image = aruco.generateImageMarker(marker_dict, id, MARKER_SIZE)
cv.imshow("img", marker_image)
cv.imwrite(f"markers/marker_{id}.png", marker_image)
# cv.waitKey(0)
# break
After running a ArUco generator or detection code I get this error.
Thanks for your response, however the post hasn’t helped me.
I have installed the suggested version of cv, changed the functions.
and this is the error I consistently get. AttributeError: 'function' object has no attribute 'getPredefinedDictionary'
I’ve also tried running the code mentioned in that post and I get other errors such as:
VideoCapture(0) has no argument, nor can I find a fix for this.
To solve the problem follow the instructions below: Install:
pip install opencv-python
pip install opencv-contrib-python
If you already have it installed, just update them to the latest version:
pip install --upgrade opencv-python
pip install --upgrade opencv-contrib-python
After doing the above, try this code:
import cv2
import matplotlib.pyplot as plt
id = 24 # This is the identifier of the bookmark, you can change it to whatever you need
img_size = 700 # Define the size of the final image
marker_img = cv2.aruco.generateImageMarker(aruco_dict, id, img_size)