如何在镜像(Android)中显示OpenCV JavaCameraView前置摄像头?
我目前正在试验openCV的android中面部检测的java示例。 但是,相机创建的视图不是镜像。我尝试将android:screenOrientation
设置为reverseLandscape
但它不起作用。 我想尝试实现这个,有什么建议吗?
布局代码:
实例化
private CameraBridgeViewBase mOpenCvCameraView;
在OpenCV加载
mOpenCvCameraView.setCameraIndex(1); mOpenCvCameraView.enableView();
onCreate()方法
mOpenCvCameraView = findViewById(R.id.fd_activity_surface_view); mOpenCvCameraView.setCvCameraViewListener(this);
mOpenCvCameraView没有包含setDisplayOrientation()方法,而setRotation(180)则返回黑色显示。
制作镜像的最小更改是将以下代码添加到CvCameraViewListener2 :
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { Mat rgba = inputFrame.rgba(); Core.flip(rgba, rgba, 1); return rgba; }
这不是最有效的方式,但可能是可以接受的。 在我相当弱的测试设备上,这将FPS从7.17降低到7.15 。