def test_chessboardB(self): config_detector = pb.ConfigChessboardBinary() config_target = pb.ConfigGridDimen(5, 6, 0.30) pb.FactoryFiducialCalibration.chessboardB(config_target, config_detector) pb.FactoryFiducialCalibration.chessboardB(config_target)
#!/usr/bin/env python3 import pyboof as pb import numpy as np import os import cv2 # Demonstration of how to detect points in a calibration target data_path = "../data/example/calibration/stereo/Bumblebee2_Chess/" print("Configuring and creating a chessboard detector") config_grid = pb.ConfigGridDimen(num_rows=5, num_cols=7, square_width=0.3) detector = pb.FactoryFiducialCalibration.chessboardB(config_grid) print("Detecting image") image = pb.load_single_band(os.path.join(data_path, "left01.jpg"), np.float32) detector.detect(image) print("Detected points {}".format(len(detector.detected_points))) # Convert it into a color image for visualization purposes ndimage = pb.boof_to_ndarray(image).astype(np.uint8) ndimage = cv2.cvtColor(ndimage, cv2.COLOR_GRAY2RGB) # Draw green dots with red outlines for x in detector.detected_points: # x[0] is index of the control point # x[1] and x[2] is the (x,y) pixel coordinate, sub-pixel precision cv2.circle(ndimage, (int(x[1]), int(x[2])), 7, (0, 0, 255), -1) cv2.circle(ndimage, (int(x[1]), int(x[2])), 5, (0, 255, 0), -1)
def test_square_grid(self): config_target = pb.ConfigGridDimen(5, 6, 0.30) config_detector = pb.ConfigSquareGrid() pb.FactoryFiducial(np.uint8).square_grid(config_target, config_detector)
def test_chessboardX(self): config_target = pb.ConfigGridDimen(5, 6, 0.30) config_detector = pb.ConfigChessboardX() pb.FactoryFiducial(np.uint8).chessboardX(config_target, config_detector)
def test_circle_regular_grid(self): config_detector = pb.ConfigCircleRegularGrid() config_target = pb.ConfigGridDimen(5, 6, 0.30) pb.FactoryFiducialCalibration.circle_regular_grid( config_target, config_detector)
def test_circle_hexagonal_grid(self): config_detector = pb.ConfigCircleHexagonalGrid() config_target = pb.ConfigGridDimen(5, 6, 0.30) pb.FactoryFiducialCalibration.circle_hexagonal_grid( config_target, config_detector)
def test_square_grid(self): config_detector = pb.ConfigSquareGrid() config_target = pb.ConfigGridDimen(5, 6, 0.30) pb.FactoryFiducialCalibration.square_grid(config_target, config_detector)