Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVCaptureSessionPreset:为什么标准iPhone摄像头可以节省2448×;3264,如果最大预设值为1088x120?_Ios_Camera_Photo_Avcapturesession_High Resolution - Fatal编程技术网

Ios AVCaptureSessionPreset:为什么标准iPhone摄像头可以节省2448×;3264,如果最大预设值为1088x120?

Ios AVCaptureSessionPreset:为什么标准iPhone摄像头可以节省2448×;3264,如果最大预设值为1088x120?,ios,camera,photo,avcapturesession,high-resolution,Ios,Camera,Photo,Avcapturesession,High Resolution,我正在编写使用摄像头的iOS小应用程序。我使用 AvFase AVCAPtoStudiSeStudio< < /C> >。在我的具体设备上,它们是: captureQualityTo=(640852) CaptureQualityHigh=(1088120) CaptureQualityMedium=(368480) CaptureQuality1280x720=(720 1280) CaptureQuality640x480=(480 640) CaptureQualityiFrame960x

我正在编写使用摄像头的iOS小应用程序。我使用 AvFase AVCAPtoStudiSeStudio< < /C> >。在我的具体设备上,它们是:
captureQualityTo=(640852)

CaptureQualityHigh=(1088120)

CaptureQualityMedium=(368480)

CaptureQuality1280x720=(720 1280)

CaptureQuality640x480=(480 640)

CaptureQualityiFrame960x540=(540 960)

标准照相机应用程序以分辨率保存照片
2448×3264

假设我想以相同的分辨率保存照片,但我能达到的最高质量是
1088 x 1920

当然,我可以调整UIImage的大小,但这是最好的方法吗
标准应用程序是否可以访问更高的分辨率,或者只是使用一些缩放和插值

编辑: 现在,我的2248x3264照片预设工作代码如下所示:

-(void) initCapturingDevice
{
    [self releaseCapturingDevice];

    self.capture_session = [[AVCaptureSession alloc] init];
    [self.capture_session beginConfiguration];

    self.video_data_output = [[AVCaptureVideoDataOutput alloc] init];
    self.video_data_output.videoSettings = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];
    [self.video_data_output setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
    [self.capture_session addOutput:self.video_data_output];

    self.capture_session.sessionPreset = AVCaptureSessionPresetPhoto; 
    // some code here ...  
}

使用
AVCaptureSessionPresetPhoto
AVCaptureStillImageOutput
,您可以获得最高质量的照片(在我的手机上为4032 x 3024):

let captureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
let input = try! AVCaptureDeviceInput(device: captureDevice)

captureSession.addInput(input)
captureSession.sessionPreset = AVCaptureSessionPresetPhoto

let stillImageOutput = AVCaptureStillImageOutput()
captureSession.addOutput(stillImageOutput)

captureSession.startRunning()

let connection = stillImageOutput.connectionWithMediaType(AVMediaTypeVideo)
stillImageOutput.captureStillImageAsynchronouslyFromConnection(connection) { (sampleBuffer, error) in
    print("maximum quality photo: \(sampleBuffer)\n")
}