mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-20 00:51:41 +00:00
* WIP monkeying around with adding new targets. * Added testcase to replicate large extrinsics result from calibration. * Tweaked calibration pipline to return image with chessboard corner detection overlaid. * Removed "bad" images from the cal, but that didn't seem to help... * Added test logic to output the undistorted Mat for evaluating the quality of the calibration. * Tweaked generation of chessboard points to be in a square pattern, not parallelogram. * Spotless and removed bespoke test target in prep for PR. * Revised to a double-for loop for less complex-looking logic * #thanks spotless al;ksgfjh akljghf ;lakdfdhg ksadfgh klasdfjhg kasdfjghj aklsjg two spaces * Boop * Updated findBoardCorners to operate on the image at a fixed, small resolution. This means the image is scaled down before passing to openCV for processing, then the returned point cloud is scaled back up by that same factor. Added additional flags to findBoardCorners to "fail fast". Revised subpixel optimization parameters to use a dynamically-sized window (based on the distance observed between board corners). * Added additional unit testing on calibration at different resolutions * Spotless cleanup * Add Mat release calls * One more missing release. Also, tried to make spotless a bit happier * Additional formatting and WIP tracking down t he memory leak * Cleaned up `Point` allocation in utility functions that iterate over mats of points * Maybe fixing this bugger???? * Indeed! We can now get through the image capture stage of calibration at full resolution and save off images. Still crashing on out of memory as expected. Added additional unit sim pass/fail criteria to catch unreleased mat's and a new set of images for testing high-res cal. * Letting spotless do its thing * Undistort debug seems to be acting a bit wonky in CI, so just commenting out for now * Guard against testcases bleeding state into each other. In particular, at least in CI, it appears not all mats are getting released in previous testcases, which borks up a hard check against "0 mats allocated" in our calibration tests. * Removed obsolete tests * One of these days, I will indeed learn to run spotless before I push. But today is (still) not that day. Today we push. FOR ROHAN!