2

working with opencv-python for a tracking project. i get this error when calling the estiamte single marker..any idea?

cv2 version 3.2.0-dev

python version 2.7.12

Traceback (most recent call last):
File "test_aruco_detect.py", line 53, in <module>
rvecs , tvecs = aruco.estimatePoseSingleMarkers(corners, 0.1765, cameraMatrix, distCoeffs)
ValueError: too many values to unpack

the code:

import numpy as np
import cv2
import cv2.aruco as aruco

with np.load('/home/odroid/camera_calibration/testfile.npz') as X:
    cameraMatrix,distCoeffs = [X[i] for i in ('arr_0','arr_1')]


cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()
   #print(frame.shape) #480x640
    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    aruco_dict = aruco.Dictionary_get(aruco.DICT_6X6_250)
    parameters =  aruco.DetectorParameters_create()


    #lists of ids and the corners beloning to each id
corners, ids, rejectedImgPoints = aruco.detectMarkers(gray, aruco_dict, parameters=parameters)


if ids != None: #if atleast one id is detected
    gray = aruco.drawDetectedMarkers(gray, corners,ids)
    rvecs , tvecs = aruco.estimatePoseSingleMarkers(corners, 0.1765, cameraMatrix, distCoeffs)
    aruco.drawAxis(gray, cameraMatrix, distCoeffs, rvecs, tvecs)


    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break


cap.release()
cv2.destroyAllWindows()

1 Answer 1

3
rvecs , tvecs, _objPoints = aruco.estimatePoseSingleMarkers(...) 

edit:

according to the documentation (http://docs.opencv.org/trunk/d9/d6a/group__aruco.html#ga84dd2e88f3e8c3255eb78e0f79571bd1) i was missing the _objPoints

Sign up to request clarification or add additional context in comments.

1 Comment

While this code may answer the question, providing additional context regarding how and why it solves the problem will improve the answer's long-term value.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.