Android HTC One M8-使用第二个后摄像头

Android HTC One M8-使用第二个后摄像头,android,opencv,camera,htc-android,Android,Opencv,Camera,Htc Android,我有一个HTC One M8设备,它有两个后摄像头和一个额外的前向摄像头。我的问题是试图访问第二个后摄像头;我已经成功地制作了一个同时运行两个摄像头的应用程序,一个前置摄像头,一个后置摄像头,但问题是我无法访问第二个后置摄像头 我尝试通过openCV和android camera2访问摄像头,代码如下: 适用于Android的openCV: CameraBridgeViewBase mOpenCvCameraView2; mOpenCvCameraView2.setCameraIndex(int

我有一个HTC One M8设备,它有两个后摄像头和一个额外的前向摄像头。我的问题是试图访问第二个后摄像头;我已经成功地制作了一个同时运行两个摄像头的应用程序,一个前置摄像头,一个后置摄像头,但问题是我无法访问第二个后置摄像头

我尝试通过openCV和android camera2访问摄像头,代码如下:

适用于Android的openCV:

CameraBridgeViewBase mOpenCvCameraView2;
mOpenCvCameraView2.setCameraIndex(int value);
其中值可能为0-第一个后摄像头,1-前向摄像头;2-不适用于背面,100也不适用,因为我在HTC页面上找到了它

普通安卓代码:

CameraManager manager = (CameraManager) getSystemService( Context.CAMERA_SERVICE);
   try {
       String[] cameraList = manager.getCameraIdList();
       Log.i("Number of cameras", Integer.toString(cameraList.length));
    } catch (CameraAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
此代码将打印设备可访问的摄像头数量;然而,它告诉我它只有两个


那么,有没有人知道我可以做些什么来访问第二台后置摄像头呢?

根据我使用HTC EVO 3D的经验,正如本文中所述,例如,不支持单独访问一台或另一台后置摄像头的选项。您可以从两个摄像头的立体视图中获得组合图像,但仅此而已。

维基百科指出,第二个传感器不是真正的摄像头:

主摄像头保持相对不变,使用超像素图像传感器OmniVision OV4688,由2.0µm大小的像素组成。UltraPixel传感器经过更新,在发光照片中提供了更好的颜色精度,该设备现在包括双色调闪光灯。主摄像头配有第二个200万像素景深传感器OmniVision OV2722,作为设备Duo摄像头系统的一部分,该传感器位于主摄像头正上方。传感器分析照片中元素的距离和位置,并生成深度图,该深度图嵌入在每张照片中


也许有一些后门可以直接访问OV2722传感器,但无论如何它都不会给你一个传统的图像。

存在一个类似的问题,但我认为没有解决: