Android 玻璃XE16.11上打开CV相机预览时出现故障

Android 玻璃XE16.11上打开CV相机预览时出现故障,android,opencv,google-glass,Android,Opencv,Google Glass,我尝试通过添加一个名为JView的新类来实现该解决方案,以覆盖JavaCV的initializeCamera。我正在尝试使用此覆盖功能来设置摄像头参数。但是,我发现这个覆盖函数似乎没有被调用?我的课程如下,人脸检测示例代码(MainActivity)来自 此外,是否有人在Glass XE16.11上遇到并解决了摄像头预览问题 谢谢 setPreviewFPSRange调用中的帧速率太高。你的速度是每分钟60帧。我已经测试了以下代码在5和30 FPS,它的工作 当您看到故障时,它看起来是这样的:

我尝试通过添加一个名为JView的新类来实现该解决方案,以覆盖JavaCV的initializeCamera。我正在尝试使用此覆盖功能来设置摄像头参数。但是,我发现这个覆盖函数似乎没有被调用?我的课程如下,人脸检测示例代码(MainActivity)来自

此外,是否有人在Glass XE16.11上遇到并解决了摄像头预览问题


谢谢

setPreviewFPSRange调用中的帧速率太高。你的速度是每分钟60帧。我已经测试了以下代码在5和30 FPS,它的工作

当您看到故障时,它看起来是这样的:

下面是我在XE16.11上使用的整个surfaceChanged方法。使用这段代码没有上面提到的小故障,我看到了一个正常的预览

    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        if (mCamera == null) return;

        Camera.Parameters camParameters = mCamera.getParameters();
        //start glass fix - use 5000 instead of 30000 for better battery performance
        camParameters.setPreviewFpsRange(30000, 30000);
        //end glass fix
        camParameters.setPreviewSize(1920, 1080);
        camParameters.setPictureSize(2592, 1944);
        mCamera.setParameters(camParameters);
        try {
            mCamera.startPreview();
        } catch (Exception e) {
            mCamera.release();
            mCamera = null;
        }
    }

嗨,我正在尝试集成示例,但是,我在获取mCamera时遇到了问题。我尝试的是在surfaceChanged()中使用mCamera=Camera.open()。请检查我的代码,我将Camera.open()放入surfaceCreated(),在surfacechange()中设置cam参数。我也尝试将0或-1作为参数来打开相机,但仍然没有好运气。我从日志中怀疑的是,这个例子使用OpenCV的CameraBridgeViewBase作为Android Cam和OpenCV到init camera之间的客户端桥梁。这意味着如果在BaseLoaderCallback()之前打开camera,BaseLoaderCallback()中的mOpenCvCameraView.enableView()将无法工作,因为摄像头资源已被占用。:/有什么想法吗?把这个放在简历上:mCamera=Camera.open(0);然后将其放到onPause:if(mCamera!=null){mCamera.release();mCamera=null;}
    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        if (mCamera == null) return;

        Camera.Parameters camParameters = mCamera.getParameters();
        //start glass fix - use 5000 instead of 30000 for better battery performance
        camParameters.setPreviewFpsRange(30000, 30000);
        //end glass fix
        camParameters.setPreviewSize(1920, 1080);
        camParameters.setPictureSize(2592, 1944);
        mCamera.setParameters(camParameters);
        try {
            mCamera.startPreview();
        } catch (Exception e) {
            mCamera.release();
            mCamera = null;
        }
    }