CameraBridgeViewBase获得Android支持的所有分辨率

时间:2016-03-31 16:50:11

标签: android opencv android-camera

我有一个应用程序,需要知道所有相机支持的分辨率 - 我如何访问该数据?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

import static android.hardware.Camera
import org.opencv.android.CameraBridgeViewBase;

我认为你可以在 OpenCV 相机旁边使用硬件相机。

CameraBridgeViewBase cameraBridgeViewBase;
List list;
arrayListForWidth = new ArrayList<>();
arrayListForHeight = new ArrayList<>();

Android getSupportedVideoSizes always returns null https://stackoverflow.com/a/5934967/10751265

同时使用 getSupportedVideoSizes 和 getSupportedPreviewSizes

if (Camera.getParameters().getSupportedVideoSizes() != null || cam_index.getParameters().getSupportedPreviewSizes() != null) {
    if (cam_index.getParameters().getSupportedVideoSizes() != null)
        list = cam_index.getParameters().getSupportedVideoSizes();
    else
        list = cam_index.getParameters().getSupportedPreviewSizes();
                
    for (Object e_list : list) {
        arrayListForWidth.add(((Camera.Size) e_list).width);
        arrayListForHeight.add(((Camera.Size) e_list).height);
    }
}

获得宽度和高度的数组列表后,您可以将它们用于 OpenCV-camera

cameraBridgeViewBase.setMaxFrameSize(arrayListForWidth.get(i), arrayListForHeight.get(i));