Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. import numpy as np
  2. import cv2
  3.  
  4. if __name__ == '__main__':
  5. pattern_size = (8, 5)
  6. square_size = 0.03
  7.  
  8. img_points = []
  9. obj_points = []
  10. w, h = 0, 0
  11. pattern_points = np.zeros((np.prod(pattern_size), 3), np.float32)
  12. pattern_points[:, :2] = np.indices(pattern_size).T.reshape(-1, 2)
  13. pattern_points *= square_size
  14.  
  15. cap = cv2.VideoCapture(0)
  16. while True:
  17. ok, frame = cap.read()
  18. if ok:
  19. h, w = frame.shape[:2]
  20.  
  21. img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  22. found, corners = cv2.findChessboardCorners(img, pattern_size)
  23. if found:
  24. term = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_COUNT, 30, 0.1)
  25. cv2.cornerSubPix(img, corners, (5, 5), (-1, -1), term)
  26. cv2.drawChessboardCorners(frame, pattern_size, corners, found)
  27. img_points.append(corners.reshape(-1, 2))
  28. obj_points.append(pattern_points)
  29.  
  30. cv2.imshow("Image with corners", frame)
  31.  
  32. if cv2.waitKey(1) == ord('q') or len(img_points) > 10:
  33. cv2.destroyAllWindows()
  34. break
  35.  
  36. print("Calculating . . .")
  37. rms, camera_matrix, dist_coeffs, _rvecs, _tvecs = cv2.calibrateCamera(obj_points, img_points, (w, h), None, None)
  38.  
  39. print("\nRMS:", rms)
  40. print("camera matrix:\n", camera_matrix)
  41. print("distortion coefficients: ", dist_coeffs.ravel() )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement