を使用して光センサーからルクス値を取得する方法を知っていますandroid.hardware.sensor
。
市場に出回っている露出計ツールを見ました。アプリケーションの説明によると、カメラからルクス値を取得できます。どうすればそれができますか?
また、シャッタースピードと絞りを設定するにはどうすればよいですか?
を使用して光センサーからルクス値を取得する方法を知っていますandroid.hardware.sensor
。
市場に出回っている露出計ツールを見ました。アプリケーションの説明によると、カメラからルクス値を取得できます。どうすればそれができますか?
また、シャッタースピードと絞りを設定するにはどうすればよいですか?
android camera APIは、キャプチャする画像データの絶対単位を提供しません。さらに、露出や絞りを手動で制御することはできません(ただし、基本的にすべての携帯電話のカメラには調整可能な絞りがありません)。
JPEG EXIFから静止画キャプチャに使用された露出時間を知ることができますが、それだけです。
これらの制限があるため、キャプチャされたカメラ画像から絶対光測定値を取得するのは困難です。特定のデバイスをキャリブレーションして画像のピクセル値から真の光レベルに変換できる場合もありますが、すべてのデバイスが自動露出と自動ホワイトバランスを実行するため、複雑になります。Android 4.0で導入された自動露出と自動ホワイトバランスロックを使用すると少し役立ちますが、ルクスとキャプチャされたピクセル値の間に未知の変換曲線があります(スケール係数だけでなく、ガンマ曲線です)。
同意します。トリックは写真を撮り、そのEXIFデータを読み取ることです。ExifInterfaceドキュメントの詳細については http://developer.android.com/reference/android/media/ExifInterface.htmlをご覧ください。
アイソメと絞りの値に応じて、shuyyを計算できます
Camera.Parameters
クラスを見てください。
カメラがサポートするすべての機能を備えています。おそらくsetExposureCompensation
。写真についてはよくわかりませんが、露出補正によって絞りや速度が変化しているのではないかと思います。
あなたが言及したツールがバンドルされたネイティブライブラリを使用している可能性があります。また、クラスで指定された関数がどのように機能するかをCamera.Parameters
確認してください(Androidのソースコードを確認してください)。
また、環境光センサーを使用して、ルクス単位で光レベルを取得することもできます(これがプロジェクトの範囲内にある場合)。Androidのドキュメントから:
Sensor.TYPE_LIGHT:
値[0]:SIルクス単位の周囲光レベル
光センサーの詳細については、ドキュメントをご覧ください。