我有这个NativeCameraView:
<org.opencv.android.NativeCameraView
android:id="@+id/tutorial1_activity_native_surface_view"
android:layout_width="350px"
android:layout_height="350px"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
opencv:camera_id="front" />
通过将opencv:camera_id="front"
更改为opencv:camera_id="back"
,我可以在设计时从前置摄像头更改为后置摄像头(我可以将其称为编译时间吗?!)
但现在我需要在运行时间切换它们吗?有可能吗?
答案 0 :(得分:4)
在活动类中访问以下变量:
private CameraBridgeViewBase mOpenCvCameraView; //exists as is in opencv samples
private int mCameraId = 0; //add this one
以下方法将切换视图。诀窍是禁用摄像机视图,设置摄像机索引(在我的情况下0和1都有效),然后重新启用摄像机视图。
private void swapCamera() {
mCameraId = mCameraId^1; //bitwise not operation to flip 1 to 0 and vice versa
mOpenCvCameraView.disableView();
mOpenCvCameraView.setCameraIndex(mCameraId);
mOpenCvCameraView.enableView();
}