gpt4 book ai didi

android - Glass XE16.11 上的 Glitch Open CV 相机预览

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:46 29 4
gpt4 key购买 nike

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

package com.space150.android.glass.opencvfacedetection;

import org.opencv.android.JavaCameraView;

import android.content.Context;
import android.hardware.Camera;
import android.util.AttributeSet;
import android.util.Log;

public class JView extends JavaCameraView {

public JView(Context context, int cameraId) {
super(context, cameraId);
}

public JView(Context context, AttributeSet attrs) {
super(context, attrs);
}


@Override
protected boolean initializeCamera(int width, int height)
{
Log.i("JVIEW", "initialize Camera");
super.initializeCamera(width, height);

Camera.Parameters params = mCamera.getParameters();

// Post XE10 Hotfix
params.setPreviewFpsRange(60000,60000);
params.setPreviewSize(320,240);
mCamera.setParameters(params);

return true;
}

}

另外,有没有人遇到并解决了 Glass XE16.11 上的相机预览问题?

谢谢!

最佳答案

您的 setPreviewFPSRange 调用中的帧速率太高。你在 60FPS。我已经在 5 和 30 FPS 下测试了以下代码并且它有效。

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

enter image description here

这是我在 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;
}
}

关于android - Glass XE16.11 上的 Glitch Open CV 相机预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336397/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com