2016-11-28 1 views
3

안녕하세요 저는 스캐닝 IOS 앱 (BarCode 및 QRCode)을 구축하고 있습니다. 내가 노출 값을 조절하는 silder이 (밝은 이미지를 만들거나 어두운는. 내가 노출 값을 수동으로IOS AVFoundation 노출값을 EV 단위로 설정하십시오.

captureDevice.setExposureTargetBias(slider.value, completionHandler: nil) 

을 설정하려면이 옵션을 사용하고 빛의 조건에 따라 달라집니다하지만 내 질문은 최소 및 최대 값 것입니다하기 ExposureTargetBias의 우리는

이 이미지의 밝기를 조절하는 적절한 방법이 있나요? 따라 slider에 대한 minmax 값을 설정하거나 다른가? (IOS는 ...). 많이 주셔서 감사합니다. 감사가 도움이 있습니다 수 있도록.

+0

누구에게 이상이 있습니까? –

+0

수동으로 노출을 설정하는 방법은 무엇입니까? –

+0

내장 된 IOS 카메라로 어떻게 밝기를 얻을 수 있습니까? –

답변

2

의 아래 속성을 사용하십시오.을 사용하여 노출 지속 시간의 최소값과 최대 값을 얻습니다.

스위프트

var minExposureDuration: CMTime { get } 
var maxExposureDuration: CMTime { get } 

목표 C 단순히 직접 슬라이더로이 값을 설정할 수 없습니다

@property(nonatomic, readonly) CMTime minExposureDuration; 
@property(nonatomic, readonly) CMTime maxExposureDuration; 

참고. 슬라이더 범위로 0-1로 설정하고 슬라이더 값에서 실제 장치 노출 기간까지 비선형 매핑을 수행해야 할 수도 있습니다. 여기

당신은 초점과 같은 다른 특성, 당신은 QR 코드의 명확한 그림을 얻으려면 넣다 화이트 밸런스를 확인 할 수 있습니다

self.exposureDurationSlider.minimumValue = 0; 
    self.exposureDurationSlider.maximumValue = 1; 
    double exposureDurationSeconds = CMTimeGetSeconds(self.videoDevice.exposureDuration); 
    double minExposureDurationSeconds = MAX(CMTimeGetSeconds(self.videoDevice.activeFormat.minExposureDuration), kExposureMinimumDuration); 
    double maxExposureDurationSeconds = CMTimeGetSeconds(self.videoDevice.activeFormat.maxExposureDuration); 
    // Map from duration to non-linear UI range 0-1 
    double p = (exposureDurationSeconds - minExposureDurationSeconds)/(maxExposureDurationSeconds - minExposureDurationSeconds); // Scale to 0-1 
    self.exposureDurationSlider.value = pow(p, 1/kExposureDurationPower); // Apply inverse power 
    self.exposureDurationSlider.enabled = (self.videoDevice && self.videoDevice.exposureMode == AVCaptureExposureModeCustom); 
애플 AVCam Manual

에서 샘플 코드입니다.