2016-11-15 6 views
1

の正しいISO値にAVFoundationで作業している間、私は最小を知るために、これらの2つのプロパティを使用して、デバイスのカメラを使用することができ、最大ISOAVFoundationカメラ

AVCaptureDeviceFormat *activeFormat = _videoDevice.activeFormat; 
minISO = activeFormat.minISO; 
maxISO = activeFormat.maxISO; 

しかし、これらの行は、バック私に次のような結果を与える:

minISO = 23 
maxISO = 736 

しかしISO 23や736のようなものは実際には存在しない、あなたはISO 23でカメラを調整した場合、それはISO 50とのために自分自身を調整します736は、カメラをISO 800に調整します。

実際にISOのカメラを設定する前に使用できることを知る方法はありますか?

答えて

2

:シャッタースピードのためにも

var isos_available:[Float] = [] 

for one_iso in isos { 
    if one_iso >= min_iso && one_iso <= max_iso { 
     isos_available.append(one_iso) 
    } 
} 

let isos:[Float] = [32,50,64,80,100,125,160,200,250,320,400,500,640,800,1000,1250,1600,1800] 

そして、最小値と最大ISO値でキャプチャデバイスフィルタの初期化後

var shutters:[Float] = [1,2,4,8,15,30,60,125,250,500,1000,2000,4000,8000] 
var shutters_available:[Float] = [] 

let min_seconds = CMTimeGetSeconds(self.device.activeFormat.minExposureDuration) 
let max_seconds = CMTimeGetSeconds(self.device.activeFormat.maxExposureDuration) 

for one_shutter in shutters { 
    let seconds = 1.0/Float64(one_shutter) 
    if seconds >= min_seconds && seconds <= max_seconds { 
     shutters_available.append(one_shutter) 
    } 
} 
1

フィルム速度に基づいています。最も一般的なISO値は25で始まり、以下の値は倍(例えば、50,100,200,400)である。 Wikipedia: Film Speedはすべての値をリストします。

あなたは規格ISO値のリストを定義することができます
+0

[OK]を知っている私はこれを意味する:1つの特定のデバイスが50から800の範囲を許可することができますが、iPhone/iPad進化すると、25から1600,3200,6400などになる可能性があります。ISOのリストを作成し、それを比較するのではなく、それを簡単に改めることができます。私は可能な値の配列を受け取ると期待されましたが、何でも。とにかくありがとう。 – SpaceDog

関連する問題