4 ms·
> We could instead do a simple ratio for this correction factor; a ratio of 9/16 is technically 0.5625. However, when I was testing this, no matter how I measur
by skywal_l 5y ago
> We could instead do a simple ratio for this correction factor; a ratio of 9/16 is technically 0.5625. However, when I was testing this, no matter how I measured the size of the tarp (in GIMP, using various DBSCAN hyperparams, etc.), I was consistently getting too high an area (closer to 8-10% error over actual rather than 2-4%)
I'm not an expert in this domain but the ratio 16/9 concerns the image size (so the ratio of screen pixels). However, would it be possible for the camera pixels not to be square? which would account for the discrepancies.
- qchris 5y agoYes, it definitely is! Part of this comes from the fact that the images that I'm pulling from the drone are raw, meaning that there's a certain amount of distortion [1] that is induced. As a result, the pixels themselves are not only necessarily square, but may not even have uniform geometry at all point in the image. While it's technically possible to minimize these effects using calibration[2], doing so was kind of out-of-scope for this experiment since it's both non-trivial and frankly not really accessible in Rust. At some point, I'm expecting to try to extend some of this work using stitched images, which will probably require digging around the OpenCV toolkit anyway. If that happens, I'll probably spend some time experimenting with adding in that camera calibration to see if there might be a good way to account for it without requiring a ton of work before each flight. [1] https://en.wikipedia.org/wiki/Distortion_%28optics%29 https://en.wikipedia.org/wiki/Distortion_%28optics%29 [2] https://docs.opencv.org/3.4/dc/dbb/tutorial_py_calibration.html https://docs.opencv.org/3.4/dc/dbb/tutorial_py_calibration.h...