Posts

Post marked as solved
2 Replies
675 Views
I'm capturing video using builtInDualCamera, two outputs, and an AVCaptureDataOutputSynchronizer, for use in computer vision. I'm cropping the wide-angle camera image so the fields of view match. Since the wide-angle and telephoto devices are only physically displaced along the horizontal camera axis, on the iPhone 12 Pro at least, I'm expecting depth disparity only along the horizontal image axis. This mostly holds up, except for one weird issue: If and only if I hold the device roughly upright in landscape orientation, there is a slight vertical disparity between the images, corresponding to roughly 11 pixels in the wide-angle frame at 1920x1080. However, if I hold the device upright in portrait orientation, or hold it flat (parallel to the ground), the image-space vertical disparity vanishes. It's a gradual transition, so the closer I am to upright and landscape, the more of the vertical disparity I get. Since the problem is definitely dependent on the physical device orientation, it seems like the gyro has to be involved somehow. The thing is, I'm not currently using the gyro anywhere in my app. Is there any AVFoundation setting that would make it utilise the gyro somehow? The only one I can think of is video stabilisation, but that's definitely turned off. Any suggestions or insights welcome. Thanks for reading.
Posted Last updated
.