Tôi đang sử dụng Python 2.7 và opencv 3.0.0. Tôi đang cố thực hiện ước tính đặt ra trên video trực tiếp. Vì vậy, tôi đã sử dụng calibrate.py do opencv cung cấp. nó hoạt động tốt. Trong chương trình này, tôi đã thêm vào các dòng cuối để xử lý thông tin để đặt trục. Tôi đã sử dụng điều này: http://docs.opencv.org/master/d7/d53/tutorial_py_pose.html#gsc.tab=0Lỗi khi sử dụng chức năng resolvePnPRansac
Trên dòng có hàm resolvePnPRansac, tôi đã viết thay thế này: _, rvecs, tvecs, inliers = cv2.solvePnPRansac(obj_points[0], corners2, camera_matrix, dist_coefs)
thêm _,
ở đầu dòng.
Tôi gặp lỗi này khi xuất hiện!
error: C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\core\src\matrix.cpp:2294: error: (-215) d == 2 && (sizes[0] == 1 || sizes[1] == 1 || sizes[0]*sizes[1] == 0) in function cv::_OutputArray::create
Tôi không hiểu gì cả!
Ai đó có thể giúp tôi không?
Đây là mã của tôi để điều trị các video:
cap = cv2.VideoCapture(0)
while(1):
# Take each frame
ret, frame = cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
# Find the chess board corners
ret, corners = cv2.findChessboardCorners(gray, (6,5),None)
if ret:
term = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_COUNT, 30, 0.1)
corners2 = cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),term)
_, rvecs, tvecs, inliers = cv2.solvePnPRansac(obj_points[0], corners2, camera_matrix, dist_coefs)
imgpts, jac = cv2.projectPoints(axis, rvecs, tvecs, camera_matrix, dist_coefs)
frame = draw(frame,corners2,imgpts)
cv2.imshow('img',frame)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
tương tự ở đây, bạn đã tìm thấy một giải pháp? –