誰もがアンドロイドデバイスのカメラのセンサーのサイズを取得する方法を知ることができますか?これは、ドキュメント(https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE)からAPIレベル21のようなことが可能であるアンドロイドデバイスのカメラセンサーサイズを取得するには?
おかげ
誰もがアンドロイドデバイスのカメラのセンサーのサイズを取得する方法を知ることができますか?これは、ドキュメント(https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE)からAPIレベル21のようなことが可能であるアンドロイドデバイスのカメラセンサーサイズを取得するには?
おかげ
:
パブリック静的最終鍵SENSOR_INFO_PHYSICAL_SIZE
フルピクセルアレイの物理的寸法。 [...]
単位:ミリメートル
私はこの種のコードを使用します。キャッチする必要CameraAccessException
その例外
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
private SizeF getCameraResolution(int camNum)
{
SizeF size = new SizeF(0,0);
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String[] cameraIds = manager.getCameraIdList();
if (cameraIds.length > camNum) {
CameraCharacteristics character = manager.getCameraCharacteristics(cameraIds[camNum]);
size = character.get(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE);
}
}
catch (CameraAccessException e)
{
Log.e("YourLogString", e.getMessage(), e);
}
return size;
}
注:ひとつのカメラよりもあるかもしれません、注意してください。
マニフェストに<uses-sdk android:minSdkVersion="21" />
を追加することを忘れないでください。
Camera1 Apiでもカメラのセンサーの幅と高さを取得するのは簡単です。ビューの水平と垂直の角度と焦点距離を取得し、残りは小さな三角法です。ビュー、Lの
Camera.Parameters params = mCamera.getParameters();
focalLength = params.getFocalLength();
horizontalViewAngle = params.getHorizontalViewAngle();
verticalViewAngle = params.getVerticalViewAngle();
A =角度=焦点距離、H =センサ高さ/ 2 =>黄褐色(A/2)=焦点距離1.15ミリメートル、横で自分のデバイスのためにH/L
画角54.8度:
センサ幅=黄褐色(54.8/2)* 2 * 1.15 = 1.19ミリメートル
この値iがDomTomCat投稿方法を使用し得るものと同じです。
しかし、21 APIより前のバージョンでは完全な解決策はどのように同じ値を得るのですか? – jucajl
私は21の前のバージョンの解決策を見つけませんでした... – DomTomCat
このメソッドも書いてありますか? http://stackoverflow.com/a/41032402/4548520 – user25