我正在使用
Android Opencv(新的opencv),我正在使用实时对象检测(该对象非常接近Android设备Camera),我注意到Android相机的autoFocus一直在修改我的帧(有点’放大’和’缩小’效果)使我更难跟踪对象.
我需要关闭“AUTO FOCUS”,因为在我的情况下,我的图像输入越模糊越好,我也需要关闭AutoWhiteBalance,或者设置为不同的值.
我想通过我的OpenCV CameraBridgeViewBase知道如何做到这一点,所以我可以修改相机的Focus / WhiteBalance设置.
我试图找到一种方法来解决它,我注意到许多人面临同样的问题.
在这里,Stack Overflow将是一个很好的地方,可以找到一个与之合作过的人并找到克服这些问题的好方法.
最佳答案 创建自己的javacameraview子类
公共类MyJavaCameraView扩展了JavaCameraView {
在哪里可以访问mCamera;
使用您感兴趣的方法添加任何相机访问权限
例如
// Setup the camera
public void setFlashMode(boolean flashLightON) {
Camera camera = mCamera;
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
并使用这个新类作为主要活动的一部分
//force java camera
mOpenCvCameraView = (MyJavaCameraView) findViewById(R.id.activity_surface_view);
mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE);
mOpenCvCameraView.setCvCameraViewListener(this);
mOpenCvCameraView.enableView();