2017-06-07 62 views
0

私は、数行を修正した後、カメラの較正のためにOpenCVのドキュメントからこのコードを実行しようとしました。関数のエラーcv2.calibrateCamera

for fname in images: 
    i =i+1 
    print(str(i)) 
    img_train = cv2.imread(fname,1) 
    gray = cv2.cvtColor(img_train,cv2.COLOR_BGR2GRAY) 
    ret, corners = cv2.findChessboardCorners(gray,(9,9),None) 

    if(ret == True): 
     objpoints.append(objp) 
     corners2 = cv2.cornerSubPix(gray,corners,(11,11)(-1,-1),criteria) 
     imgpoints.append(corners2) 
     cv2.drawChessboardCorners(img_train, (9,9), corners2,ret) 

    cv2.imshow('Train',img_train) 
    cv2.waitKey(500) 

cv2.destroyAllWindows() 

grey = cv2.imread('GoPro/GOPR4176.JPG',0) 
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints,imgpoints,grey.shape[::-1],None,None) 

np.savetxt("CAMERA_MATRIX_FOR_VIDEO.txt", mtx) 

私は、次のエラーを取得しておいてください。

OpenCV Error: Assertion failed (nimages > 0) in calibrateCamera, file /home/atul/opencv/modules/calib3d/src/calibration.cpp, line 3357 
Traceback (most recent call last): 
    File "gopro2.py", line 53, in <module> 
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints,imgpoints,grey.shape[::-1],None,None) 
cv2.error: /home/atul/opencv/modules/calib3d/src/calibration.cpp:3357: error: (-215) nimages > 0 in function calibrateCamera 

なぜこのエラーが発生しますか。

+0

です。画像が正しくロードされていることを確認してください。 – api55

答えて

0

objpとは何ですか? objpのサイズが違っている可能性があります。 objp = np.zeros((n * m、3)、np.float32) objp [:、:2] = np.mgrid [0:n、0:m] .T.reshape( - 1,2)

ここで、nおよびmは、任意の画像を取得していないため、エラーが発生したグリッドのサイズ(円形またはチェスボード、4x11、7x6など)

関連する問題