Почему картинка 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
качественный:
Уверяю вас, эти два снимка экрана сделаны, указывая камеру в одно и то же место, в одно и то же время и в одинаковых условиях освещения.
1 ответ
Разница вызвана назначением этих пресетов. В то время как AVCaptureSessionPresetHigh
в основном для создания видео, AVCaptureSessionPresetLow/Medium
может быть использован для создания фотографий, потому что они ведут себя так же, как AVCaptureSessionPresetPhoto
предустановки. Вы можете попробовать приложение камеры по умолчанию.