@Override public void notifyOfVariableChange(YoVariable<?> v) { synchronized (expectedFiducialSizeChangedConch) { detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(expectedFiducialSize.getDoubleValue()), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class); } } });
/** * Detector for square binary based fiducials. * * @see DetectFiducialSquareBinary DetectFiducialSquareBinary for a description of this fiducial type. * * @param configFiducial Description of the fiducial. Can't be null. * @param configThreshold Threshold for binary image. null for default. * @param imageType Type of image it's processing * @return FiducialDetector */ public static <T extends ImageGray> SquareBinary_to_FiducialDetector<T> squareBinary( ConfigFiducialBinary configFiducial, ConfigThreshold configThreshold, Class<T> imageType ) { if( configThreshold == null ) { configThreshold = ConfigThreshold.local(ThresholdType.LOCAL_SQUARE,10); } configFiducial.checkValidity(); configFiducial.squareDetector.clockwise = false; final InputToBinary<T> binary = FactoryThresholdBinary.threshold(configThreshold, imageType); final BinaryPolygonDetector<T> squareDetector = FactoryShapeDetector. polygon(configFiducial.squareDetector,imageType); final DetectFiducialSquareBinary<T> alg = new DetectFiducialSquareBinary<>(configFiducial.gridWidth, configFiducial.borderWidthFraction, configFiducial.minimumBlackBorderFraction, binary, squareDetector, imageType); alg.setAmbiguityThreshold(configFiducial.ambiguousThreshold); return new SquareBinary_to_FiducialDetector<>(alg, configFiducial.targetWidth); }
@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(); } }
detector = FactoryFiducial.squareBinary(new ConfigFiducialBinary(0.1), configThreshold, imageClass); } else if( name.compareTo(SQUARE_PICTURE) == 0 ) { double length = 0.1;
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);
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);
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);
public static void main(String[] args) throws IOException .squareBinary(new ConfigFiducialBinary(0.1), ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10), GrayF32.class);