Is there any source of pre-calculated Camera Intrinsics / Calibrations? For example if I wanted to ship an app that can run on a wide array of devices, it would be ideal to have calibrations preloaded and it may be impractical for me to manually run calibrations on each possible device. It would also be challenging to require each user to perform this calibration.
probably not
you ain’t gonna need it (what for?). phone lenses either look fisheye because they are, or they’re fairly straight.
it’s a lost cause anyway because of all the moving parts in modern optics (servo focus and OIS), or damaged optics, from dropping it. do you know the mean time between sale and first hard drop? let me ask another way: how many people do you know who have a phone or tablet with some cracks somewhere, or at least a whacked OIS?
for a simple guess, no distortion, only focal length, just query the device/camera for its focal length (mm) and sensor pitch (µm/px) and that gives you the focal length (px). those figures are usually attached to every picture a phone takes, so it stands to reason that you can query that info without even taking a picture.
existing calibration info? perhaps for Apple devices, if you ask Apple nicely. maybe they already published that somewhere…
if you want to spend a little effort, get an intern, tell him to get a list of devices by market share and to order or loan a couple of each device on the list, and do the calibrations.
if you truly need calibration, you could do “auto-calibration”, which is calibration that also calculates “the model”, which is basically structure from motion.
if you plan to do calibration in house, get someone who has the background, knows how to gather the calibration data efficiently, and how to avoid the traps that most filthy casuals fall into, like using calibration routines that require the entire calibration pattern to be in view, which causes you to not get points in the corners of the image, just where they’re needed the most.
or outsource it to some shop that does calibration for a living. they’ll be happy to juggle a box of phones for you. for a price
Is there a way to do that just using OpenCV? I tried tinkering with:
webcam = cv2.VideoCapture(0)
webcam.get(cv2.CAP_PROP_...)
but it didn’t seem like these values were set / useful.
no. OpenCV does not concern itself with such metadata. that is to say, nobody has bothered implementing such things, IF the underlying system APIs even support this.
CAP_PROP are mostly for camera control and video file metadata (width, height, time info).