Camera 2 API - 内在相机参数

时间:2018-05-21 05:24:16

标签: android camera camera-calibration android-camera2

有没有办法在不使用OpenCV的情况下使用Camera 2 API在Android中找到Intrinsic Camera Parameters

官方文档包含CameraCharacteristics,其中包含内部参数。但是使用它总是返回null Referred Question。我对Camera2的设备支持级别记录为" LEGACY"。这是内在参数不可用的原因吗?在这种情况下获得它们的方法是什么?

2 个答案:

答案 0 :(得分:1)

是的,从opencv documentation开始,您可以自己制作相机内在矩阵。相机内在矩阵是由图像的焦距和主点组成的矩阵。

camera_matrix = [
                   [fx, 0, cx],
                   [0, fy, cy],
                   [0,  0, 1 ],
                ]

其中 fxfy 是您可以通过 getFocalLength 方法获得的相机焦距:

Camera.getParameters.GetFocalLength() : float

cxcy是取图像中心或图像[0, 0]位置(以像素为单位)的主要点。

cx = image.width / 2;
cy = image.height / 2;

答案 1 :(得分:0)

Android设备尚未广泛支持内置摄像头参数。

只有支持DEPTH_OUTPUT功能的设备才能支持它们;特别是,LEGACY设备永远不会支持它们。 没有这种功能的设备可能支持镜头校准字段,但现在相对不太可能。

在即将推出的Android P版本中,支持新LOGICAL_MULTI_CAMERA功能的设备也必须支持一些镜头校准元数据,但目前仅在P beta版本中提供。