Как получить размер датчика камеры в устройстве Android?

Может ли кто-нибудь узнать, как получить сенсорный размер камеры в устройстве Android?

благодаря

Это возможно с уровня API 21. Из документации ( https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE ):

Открытый статический окончательный ключ SENSOR_INFO_PHYSICAL_SIZE

Физические размеры полной матрицы пикселей. […]

Единицы измерения: миллиметры

Я использую этот код. Опасайтесь, может быть больше, чем одна камера:

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; } 

Обратите внимание, что исключение CameraAccessException должно быть обнаружено.

Не забудьте добавить <uses-sdk android:minSdkVersion="21" /> к вашему манифесту.

Легко получить ширину и высоту датчика камеры с помощью Camera1 Api. Получите горизонтальный и вертикальный угол обзора и фокусное расстояние, а остальное – небольшая тригонометрия.

 Camera.Parameters params = mCamera.getParameters(); focalLength = params.getFocalLength(); horizontalViewAngle = params.getHorizontalViewAngle(); verticalViewAngle = params.getVerticalViewAngle(); 

A = Угол обзора, l = фокусное расстояние, h = высота датчика / 2 => tan (A / 2) = h / l

Для моего устройства с фокусным расстоянием 1,15 мм и горизонтальным углом обзора 54,8 градуса:

Ширина датчика = tan (54,8 / 2) * 2 * 1,15 = 1,19 мм

Это значение совпадает с тем, что я получил, используя метод DomTomCat.