@Override public void notifyOfVariableChange(YoVariable<?> v) { synchronized (expectedFiducialSizeChangedConch) { detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(expectedFiducialSize.getDoubleValue()), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class); } } });
@Override protected FiducialDetector<GrayU8> createDetector() { if( cc.targetType == CalibrationPatterns.CHESSBOARD ) { return FactoryFiducial.calibChessboard(cc.chessboard, GrayU8.class); } else if( cc.targetType == CalibrationPatterns.SQUARE_GRID ) { return FactoryFiducial.calibSquareGrid(cc.squareGrid, GrayU8.class); } else if( cc.targetType == CalibrationPatterns.CIRCLE_HEXAGONAL ) { return FactoryFiducial.calibCircleHexagonalGrid(cc.hexagonal, GrayU8.class); } else if( cc.targetType == CalibrationPatterns.CIRCLE_GRID ) { return FactoryFiducial.calibCircleRegularGrid(cc.circleGrid, GrayU8.class); } else { throw new RuntimeException("Unknown"); } } }
public QrCodeProcessing() { super(GrayU8.class); ConfigQrCode config; switch( detectorType ) { case FAST:{ config = ConfigQrCode.fast(); }break; default: { config = new ConfigQrCode(); } } detector = FactoryFiducial.qrcode(config,GrayU8.class); colorDetected.setARGB(0xA0,0,0xFF,0); colorDetected.setStyle(Paint.Style.FILL); colorFailed.setARGB(0xA0,0xFF,0x11,0x11); colorFailed.setStyle(Paint.Style.FILL); }
detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(0.1), configThreshold, imageClass); } else if( name.compareTo(SQUARE_PICTURE) == 0 ) { double length = 0.1; detector = FactoryFiducial.squareImage(new ConfigFiducialImage(), configThreshold, imageClass); detector = FactoryFiducial.qrcode3D(null, imageClass); } else if( name.compareTo(CALIB_CHESS) == 0 ) { detector = FactoryFiducial.calibChessboard(new ConfigChessboard(7, 5, 0.03), imageClass); } else if( name.compareTo(CALIB_SQUARE_GRID) == 0 ) { detector = FactoryFiducial.calibSquareGrid(new ConfigSquareGrid(4, 3, 0.03, 0.03), imageClass); } else if( name.compareTo(CALIB_SQUARE_BINARY_GRID) == 0 ) { File configFile = new File(path,"description_4x3_3x3_4cm_2cm.txt"); ConfigSquareGridBinary config = ConfigSquareGridBinary.parseSimple(new BufferedReader(new FileReader(configFile))); detector = FactoryFiducial.calibSquareGridBinary(config, imageClass); } catch (IOException e) { throw new RuntimeException(e); detector = FactoryFiducial.calibCircleHexagonalGrid(new ConfigCircleHexagonalGrid(24, 28, 1, 1.2), imageClass); } else if( name.compareTo(CALIB_CIRCLE_REGULAR_GRID) == 0 ) { detector = FactoryFiducial.calibCircleRegularGrid(new ConfigCircleRegularGrid(10, 8, 1.5, 2.5), imageClass); } else { throw new RuntimeException("Unknown selection");
public BoofCVChessboardPoseEstimator(int rows, int cols, double gridWidth) { ConfigChessboard config; this.gridWidth=gridWidth; config = new ConfigChessboard(cols, rows, gridWidth); detector = FactoryFiducial.calibChessboard(config, GrayF32.class); }
configThreshold = ConfigThreshold.fixed(binaryThreshold); detector = FactoryFiducial.squareImage(config, configThreshold, GrayU8.class);
public BoofCVChessboardPoseEstimator(int rows, int cols, double gridWidth) { ConfigChessboard config; this.gridWidth=gridWidth; config = new ConfigChessboard(cols, rows, gridWidth); detector = FactoryFiducial.calibChessboard(config, GrayF32.class); }
public CalibrationDetectorSquareFiducialGrid(ConfigSquareGridBinary config) { DetectFiducialSquareBinary<GrayF32> fiducialDetector = FactoryFiducial. squareBinary(config.configDetector, config.configThreshold, GrayF32.class).getAlgorithm(); detector = new DetectFiducialSquareGrid<>(config.numRows,config.numCols,config.ids,fiducialDetector); numRows = config.numRows; numCols = config.numCols; numPointRows = 2*numRows; numPointCols = 2*numCols; layoutPoints = CalibrationDetectorSquareGrid.createLayout(numRows, numCols, config.squareWidth, config.spaceWidth); }
@Override protected void createDetector(boolean initializing) { if( !initializing) BoofSwingUtil.checkGuiThread(); DetectQrCodeControlPanel controls = (DetectQrCodeControlPanel)DetectQrCodeApp.this.controls; synchronized (this) { ConfigQrCode config = controls.getConfigQr(); config.threshold = controls.getThreshold().createConfig(); detector = FactoryFiducial.qrcode(config,imageClass); detector.setProfilerState(true); } }
@Override public void variableChanged(YoVariable<?> v) { synchronized (expectedFiducialSizeChangedConch) { detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(expectedFiducialSize.getDoubleValue()), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class); } } });
@Override protected FiducialDetector<GrayU8> createDetector() { FiducialDetector<GrayU8> detector; ConfigFiducialBinary config = new ConfigFiducialBinary(0.1); synchronized ( lock ) { ConfigThreshold configThreshold; if (robust) { configThreshold = ConfigThreshold.local(ThresholdType.LOCAL_MEAN, 13); } else { configThreshold = ConfigThreshold.fixed(binaryThreshold); } detector = FactoryFiducial.squareBinary(config, configThreshold, GrayU8.class); } return detector; }
public static void main(String[] arg) throws URISyntaxException { //install ros libuvc_camera driver first to try on usbwebcams String cameraPrefix = "/multisense/left"; String imageTopic = cameraPrefix + "/image_color"; String cameraInfoTopic = cameraPrefix + "/camera_info"; final boolean RUN_JAVA_ROSCORE = false; URI rosMasterURI; if (RUN_JAVA_ROSCORE) { RosCore rosCore = RosCore.newPublic(); rosMasterURI = rosCore.getUri(); } else { // rosMasterURI = new URI("http://cpu0:11311"); rosMasterURI = new URI("http://localhost:11311"); } RosMainNode rosMainNode = new RosMainNode(rosMasterURI, "RosMainNode"); // FiducialDetector<GrayF32> detector = FactoryFiducial.calibChessboard(new ConfigChessboard(5, 6, 0.09), GrayF32.class); FiducialDetector<GrayF32> detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(0.1), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class); new RosFiducialDetector(rosMainNode, imageTopic, cameraInfoTopic, detector); rosMainNode.execute(); } }
public static void main(String[] arg) throws URISyntaxException { //install ros libuvc_camera driver first to try on usbwebcams String cameraPrefix = "/multisense/left"; String imageTopic = cameraPrefix + "/image_color"; String cameraInfoTopic = cameraPrefix + "/camera_info"; final boolean RUN_JAVA_ROSCORE = false; URI rosMasterURI; if (RUN_JAVA_ROSCORE) { RosCore rosCore = RosCore.newPublic(); rosMasterURI = rosCore.getUri(); } else { // rosMasterURI = new URI("http://cpu0:11311"); rosMasterURI = new URI("http://localhost:11311"); } RosMainNode rosMainNode = new RosMainNode(rosMasterURI, "RosMainNode"); // FiducialDetector<GrayF32> detector = FactoryFiducial.calibChessboard(new ConfigChessboard(5, 6, 0.09), GrayF32.class); FiducialDetector<GrayF32> detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(0.1), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class); new RosFiducialDetector(rosMainNode, imageTopic, cameraInfoTopic, detector); rosMainNode.execute(); } }
public static void main(String[] args) throws IOException, InterruptedException .squareBinary(new ConfigFiducialBinary(0.063), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class);
public static void main(String[] args) throws IOException .squareBinary(new ConfigFiducialBinary(0.1), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class);
detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(expectedFiducialSize.getDoubleValue()), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class);
detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(expectedFiducialSize.getDoubleValue()), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class);