From 48fc88c5e9f6939572d12534e772cebb9d280823 Mon Sep 17 00:00:00 2001 From: "Cameron (3539)" Date: Sun, 13 Oct 2024 16:42:53 -0400 Subject: [PATCH] ChArUco: adjust detector params, hide unused (#1463) --- .../photonvision/vision/pipe/impl/DrawCalibrationPipe.java | 5 +++++ .../photonvision/vision/pipe/impl/FindBoardCornersPipe.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/DrawCalibrationPipe.java b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/DrawCalibrationPipe.java index af3f5ffeb..cf0b04f0d 100644 --- a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/DrawCalibrationPipe.java +++ b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/DrawCalibrationPipe.java @@ -56,6 +56,11 @@ public class DrawCalibrationPipe int i = 0; for (var target : in.getRight()) { for (var c : target.getTargetCorners()) { + if (c.x < 0 || c.y < 0) { + // Skip if the corner is less than zero + continue; + } + c = new Point( c.x / params.divisor.value.doubleValue(), c.y / params.divisor.value.doubleValue()); diff --git a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/FindBoardCornersPipe.java b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/FindBoardCornersPipe.java index 43e538f7c..a85c57a3e 100644 --- a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/FindBoardCornersPipe.java +++ b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/FindBoardCornersPipe.java @@ -116,6 +116,11 @@ public class FindBoardCornersPipe Objdetect.getPredefinedDictionary(params.tagFamily.getValue())); board.setLegacyPattern(params.useOldPattern); detector = new CharucoDetector(board); + detector.getDetectorParameters().set_adaptiveThreshConstant(10); + detector.getDetectorParameters().set_adaptiveThreshWinSizeMin(11); + detector.getDetectorParameters().set_adaptiveThreshWinSizeStep(40); + detector.getDetectorParameters().set_adaptiveThreshWinSizeMax(91); + } else { logger.error("Can't create pattern for unknown board type " + params.type); }