iOS上的OpenCV相机预览被拉伸了。

5

我遵循OpenCV文档 实现相机预览。这里,CvVideoCamera用UIIamgeView初始化。我现在已将我的UIImageView的约束设置为填充整个屏幕。

相机的初始化如下:

self.videoCamera = [[VideoCamera alloc] initWithParentView:imageView];
self.videoCamera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionBack;
self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPresetMedium;
self.videoCamera.defaultAVCaptureVideoOrientation = AVCaptureVideoOrientationPortrait;
self.videoCamera.defaultFPS = 30;
self.videoCamera.grayscaleMode = false;
self.videoCamera.delegate = self;

[self.videoCamera start];

我还设置了contentMode: [imageView setContentMode:UIViewContentModeScaleAspectFill]

然而,相机预览仍然失真:

失真

为了比较,在相机应用中的效果如下:

正确的长宽比

1个回答

0

您需要调整defaultAVCaptureSessionPreset,例如:

self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset1280x720;

这是在支持iOS 9的设备上测试过的所有摄像头sessionPreset的表格。

查找iOS设备相机分辨率的方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接