Я хочу размыть изображение, поэтому мне нужно изменить режим фокусировки OpenCV. Я создал новый класс для наследования javacameraview и установил режим фокусировки в классе. Теперь просто измените параметр mopencvcameraview на cra sh. Я не могу найти причину. Пожалуйста, посмотрите, спасибо. Другой вопрос, как изменить параметры камеры в javacamera2view?
MyJavaCameraView
public class MyJavaCameraView extends JavaCameraView {
public MyJavaCameraView(Context context, int cameraId) {
super(context, cameraId);
}
public MyJavaCameraView(Context context, AttributeSet attrs) {
super(context, attrs);
}
I want to blur the image, so I need to change the focus mode of OpenCV. I created a new class to inherit javacameraview and set the focus mode in the class. Now just change the mopencvcameraview parameter to crash. I can't find the reason. Please take a look, thank you. Another question is how to change camera parameters in javacamera2view?
public void setFocusMode() {
Camera camera = mCamera;
Camera.Parameters mParameters = camera.getParameters();
if (camera != null) {
List<String> supportedFocusModes = mParameters.getSupportedFocusModes();
if (supportedFocusModes != null && supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_INFINITY);
camera.setParameters(mParameters);
}
}
}
}
ImageManipulationsActivity
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "called onCreate");
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.image_manipulations_surface_view);
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.image_manipulations_activity_surface_view);
//Change it to the following crash
//mOpenCvCameraView = (MyJavaCameraView) findViewById(R.id.image_manipulations_activity_surface_view);
mOpenCvCameraView.setVisibility(CameraBridgeViewBase.VISIBLE);
mOpenCvCameraView.setCvCameraViewListener(this);
}