In order to perform the calibration process, we need to do some bookkeeping. We will do that by following the next steps:
- For now, let's focus on a single 10 x 7 chessboard. The algorithm will detect all the 9 x 6 inner corners of the chessboard (referred to as object points) and store the detected image points of these corners in a list. So, let's first initialize the chessboard_size to the number of inner corners:
self.chessboard_size = (9, 6)
- Next, we need to enumerate all the object points and assign them object point coordinates so that the first point has coordinates (0,0), the second one (top row) has coordinates (1,0), and the last one has coordinates (8,5):
# prepare object points self.objp = np.zeros((np.prod(self.chessboard_size), ...