mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-20 00:51:41 +00:00
[photonlib] Simulation robustness (#874)
- `PNPResults` can now be empty (`isPresent` = false) - solvePNP methods actually handle errors and return empty `PNPResults` - This reveals an odd error where some inputs to `solvePNP_SQUARE()` resulted in an estimated transform with NaN values, and attempts to handle it - Overwrites java changes from #817 since #742 had duplicate fixes - Minor bugfixes
This commit is contained in:
@@ -109,19 +109,10 @@ public class VideoSimUtil {
|
||||
name = name.substring(0, name.length() - idString.length()) + idString;
|
||||
|
||||
var resource = VideoSimUtil.class.getResource(kResourceTagImagesPath + name + ".png");
|
||||
// local IDE tests
|
||||
String path = kLocalTagImagesPath + name + ".png";
|
||||
// gradle tests
|
||||
if (resource != null) {
|
||||
path = resource.getPath();
|
||||
|
||||
// TODO why did we have this previously?
|
||||
// if (path.startsWith("/")) path = path.substring(1);
|
||||
}
|
||||
Mat result = new Mat();
|
||||
if (!path.startsWith("file")) result = Imgcodecs.imread(path, Imgcodecs.IMREAD_GRAYSCALE);
|
||||
// reading jar file
|
||||
if (result.empty()) {
|
||||
if (resource != null && resource.getPath().startsWith("file")) {
|
||||
BufferedImage buf;
|
||||
try {
|
||||
buf = ImageIO.read(resource);
|
||||
@@ -140,6 +131,8 @@ public class VideoSimUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
// local IDE tests
|
||||
else result = Imgcodecs.imread(kLocalTagImagesPath + name + ".png", Imgcodecs.IMREAD_GRAYSCALE);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user