如何在镜像(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