2017-06-22 203 views
0

使用opencv-python進行跟蹤項目。當調用estiamte單個標記..任何想法時,我得到這個錯誤?ValueError:解壓縮的值太多opencv-python

CV2版本3.2.0-dev的

蟒版本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 

的代碼:

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() 

回答

相關問題