Почему картинка AVCaptureSessionPresetHigh такая темная?

Играя с AVCapureSessions и пытается отобразить вывод CMSampleBufferRefпо-разному (используя AVCaptureVideoPreviewLayer, отображая CGImage и превращая его в UIImage), Я также рассмотрел все предустановки качества, которые вы можете установить для себя AVCaptureSession,
Тогда я заметил, как качественные различия между

  • AVCaptureSessionPresetLow,
  • AVCaptureSessionPresetMedium а также
  • AVCaptureSessionPresetHigh

не только разрешение изображения, но также их соотношение сторон и, в частности, общее качество изображения. В моем конкретном случае, кадры, полученные с AVCaptureSessionPresetLow/Medium были намного ярче, чем те, с AVCaptureSessionPresetHigh, Почему это?

Для настройки сеанса и для отображения изображений я использовал этот код: http://www.benjaminloulier.com/posts/ios4-and-direct-access-to-the-camera

Чтобы установить пресеты:

[self.captureSession setSessionPreset:AVCaptureSessionPresetHigh];

Вот два примера с Medium а также High качественный:

AVCaptureSessionPresetMediumAVCaptureSessionPresetHigh

Уверяю вас, эти два снимка экрана сделаны, указывая камеру в одно и то же место, в одно и то же время и в одинаковых условиях освещения.

1 ответ

Разница вызвана назначением этих пресетов. В то время как AVCaptureSessionPresetHigh в основном для создания видео, AVCaptureSessionPresetLow/Medium может быть использован для создания фотографий, потому что они ведут себя так же, как AVCaptureSessionPresetPhoto предустановки. Вы можете попробовать приложение камеры по умолчанию.

Другие вопросы по тегам