Example #1
0
def calibrate(path: str, filter: str, nrows: int, ncols: int):
    calibrator = Calibrator(1)
    objp = np.zeros((nrows * ncols, 3), np.float32)
    objp[:, :2] = np.mgrid[0:nrows, 0:ncols].T.reshape(-1, 2)
    counter = 0
    image_names = glob.glob(os.path.join(path, filter))
    print(image_names)

    for i in range(100):
        for imname in glob.glob(os.path.join(path, filter)):
            counter += 1
            image = cv2.imread(imname, cv2.IMREAD_GRAYSCALE)
            f, corners = cv2.findChessboardCorners(image, (nrows, ncols), None)
            cv2.cornerSubPix(image, corners, (11, 11), (-1, -1),
                             (cv2.TERM_CRITERIA_EPS +
                              cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001))
            print(counter)
            calibrator.train(objp, np.squeeze(corners.astype(np.float64)))