Calibration and metrics clean up. (#68)

* Add more calibration metrics
* Cleanup metrics
* Rename PWM fields to match convention
This commit is contained in:
Xzibit
2020-08-04 16:19:40 -04:00
committed by GitHub
parent e2768eaee8
commit dea68041fb
11 changed files with 140 additions and 60 deletions

View File

@@ -42,6 +42,7 @@ public class HardwareConfigTest {
config.ledPins.stream().mapToInt(i -> i).toArray(), new int[] {2, 13});
Assertions.assertArrayEquals(
config.ledPWMRange.stream().mapToInt(i -> i).toArray(), new int[] {0, 100});
Assertions.assertEquals(config.ledPWMFrequency, 800);
CustomGPIO.setConfig(config);

View File

@@ -27,7 +27,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.photonvision.common.util.TestUtils;
import org.photonvision.vision.frame.Frame;
@@ -86,14 +85,16 @@ public class Calibrate3dPipeTest {
new Frame(
new CVMat(Imgcodecs.imread(file.getAbsolutePath())),
new FrameStaticProperties(640, 480, 60)));
HighGui.imshow("Calibration Output Frame", output.outputFrame.image.getMat());
TestUtils.showImage(output.outputFrame.image.getMat());
}
calibration3dPipeline.removeSnapshot(0);
calibration3dPipeline.startCalibration();
calibration3dPipeline.run(
new Frame(
new CVMat(Imgcodecs.imread(directoryListing[0].getAbsolutePath())),
new FrameStaticProperties(640, 480, 60)));
calibration3dPipeline.finishCalibration();
System.out.println(
"Per View Errors: " + Arrays.toString(calibration3dPipeline.perViewErrors()));
System.out.println(
@@ -102,5 +103,10 @@ public class Calibrate3dPipeTest {
System.out.println(
"Camera Extrinsics : "
+ calibration3dPipeline.cameraCalibrationCoefficients().cameraExtrinsics.toString());
System.out.println(
"Standard Deviation: "
+ calibration3dPipeline.cameraCalibrationCoefficients().standardDeviation);
System.out.println(
"Mean: " + Arrays.stream(calibration3dPipeline.perViewErrors()).average().toString());
}
}