2017-06-22 4 views
0

追跡プロジェクト用にopencv-pythonを使用しています。私はestiamteの単一のマーカーを呼び出すときにこのエラーが発生します。ValueError:opencv-pythonを展開するには値が多すぎます

CV2バージョン3.2.0-DEV

Pythonバージョン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() 

答えて

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

編集:

マニュアルに従って(http://docs.opencv.org/trunk/d9/d6a/group__aruco.html#ga84dd2e88f3e8c3255eb78e0f79571bd1)_objPointsが見つかりませんでした

+0

このコードは質問に答えることができますが、問題をどのように、なぜ解決するかについての追加の文脈を提供することで、回答の長期的価値が向上します。 – cpburnz

関連する問題