我已经按照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];
Run Code Online (Sandbox Code Playgroud)
我还设置了contentMode:
[imageView setContentMode:UIViewContentModeScaleAspectFill]
但是,相机预览仍然失真:
为了比较相机应用程序:
小智 0
您需要调整defaultAVCaptureSessionPreset例如:
self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset1280x720;
以下是支持 iOS 9 的设备上所有经过测试的相机会话预设的表格