mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-22 01:11:40 +00:00
PiCam Tweaks (#63)
* Update QuirkyCamera to do name-based matching * Add pi-cam exposure set * Refactor QuirkyCamera * Add PiCam quirk test, fix tests for no-name quirky cameras * Apply Spotless * Add pinhole model unit test
This commit is contained in:
@@ -32,10 +32,22 @@ public class QuirkyCameraTest {
|
||||
ps3EyeQuirks.putIfAbsent(q, false);
|
||||
}
|
||||
|
||||
QuirkyCamera psEye = QuirkyCamera.getQuirkyCamera(0x2000, 0x1415, "psEye");
|
||||
QuirkyCamera psEye = QuirkyCamera.getQuirkyCamera(0x2000, 0x1415);
|
||||
Assertions.assertEquals(psEye.quirks, ps3EyeQuirks);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void picamTest() {
|
||||
HashMap<CameraQuirk, Boolean> picamQuirks = new HashMap<>();
|
||||
picamQuirks.put(CameraQuirk.PiCam, true);
|
||||
for (var q : CameraQuirk.values()) {
|
||||
picamQuirks.putIfAbsent(q, false);
|
||||
}
|
||||
|
||||
QuirkyCamera picam = QuirkyCamera.getQuirkyCamera(-1, -1, "mmal service 16.1");
|
||||
Assertions.assertEquals(picam.quirks, picamQuirks);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void quirklessCameraTest() {
|
||||
HashMap<CameraQuirk, Boolean> noQuirks = new HashMap<>();
|
||||
@@ -43,7 +55,7 @@ public class QuirkyCameraTest {
|
||||
noQuirks.put(q, false);
|
||||
}
|
||||
|
||||
QuirkyCamera quirkless = QuirkyCamera.getQuirkyCamera(1234, 888, "empty");
|
||||
QuirkyCamera quirkless = QuirkyCamera.getQuirkyCamera(1234, 8888);
|
||||
Assertions.assertEquals(quirkless.quirks, noQuirks);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.opencv.core.*;
|
||||
import org.opencv.core.Point;
|
||||
import org.opencv.imgproc.Imgproc;
|
||||
import org.photonvision.common.util.TestUtils;
|
||||
import org.photonvision.common.util.numbers.DoubleCouple;
|
||||
import org.photonvision.vision.frame.FrameStaticProperties;
|
||||
import org.photonvision.vision.opencv.DualOffsetValues;
|
||||
|
||||
@@ -176,6 +177,16 @@ public class TargetCalculationsTest {
|
||||
assertEquals(-70, result, 0.01);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCameraFOVCalculation() {
|
||||
final DoubleCouple glowormHorizVert =
|
||||
FrameStaticProperties.calculateHorizontalVerticalFoV(74.8, 640, 480);
|
||||
var gwHorizDeg = FastMath.toDegrees(glowormHorizVert.getFirst());
|
||||
var gwVertDeg = FastMath.toDegrees(glowormHorizVert.getSecond());
|
||||
assertEquals(62.7, gwHorizDeg, .3);
|
||||
assertEquals(49, gwVertDeg, .3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void robotOffsetDualTest() {
|
||||
final DualOffsetValues dualOffsetValues =
|
||||
|
||||
Reference in New Issue
Block a user