Problem when automatically calculating the intrinsic camera values for reduced camera resolutions
I have a problem automatically calculating the intrinsic camera values from the size of the frame and the fovY values the camera hardware tells me. It works fine for frames with full resolution and is nearly as good as a manually calibrated camera but if I set the resolution to 640x480 I get the following problem:
If I tell the OpenCV cam preview to use resolution 640x480 it provides frames in that resolution, the problem here is that the Android Camera class still tells me the same values for getHorizontalViewAngle() and getVerticalViewAngle() even if now the frames have a different aspect ratio and show not the same region as in the full resolution. So my problem is that instead of using the full frame from the sensor just in a smaller resolution the camera now gives me a cropped image but still the same values for fovY. is it possible to calculate the correct fovY based on the new resolution?
Image resolution doesn't affect the field of view, it's only related to the sensor dimension and focal length. If you have these data you can get the field of view of your camera. Or maybe i didn't understand the question...
the problem ist that not only the resolution is changed but also the part of the image which is provided, there are parts cropped out when you pick the 640x480 resolution
I don't know about the cropping, but if you need to know the view angles you really don't need to change the resolution because you can manually calculate those data if the focal lenght of the lens and sensor width/height are known. Also with a quick search on the web i found out that those getViewAngle functions are not very reliable