我正在使用opencv库开发具有面部识别功能的android应用程序。我的问题是屏幕方向。我在JavaCameraView类中使用下面的代码获得了一个解决方案。

mCamera.setDisplayOrientation(90);
mCamera.setPreviewDisplay(getHolder());

相机不错,但是面部检测不起作用。

我找到了this,但我认为该解决方案在最新版本的opencv库中不起作用。

任何想法都可能有用。

提前致谢。

最佳答案

您还必须通过添加以下代码来创建setDisplayOrientation:

protected void setDisplayOrientation(Camera camera, int angle){
    Method downPolymorphic;
    try
    {
        downPolymorphic = camera.getClass().getMethod("setDisplayOrientation", new Class[] { int.class });
        if (downPolymorphic != null)
            downPolymorphic.invoke(camera, new Object[] { angle });
    }
    catch (Exception e1)
    {
    }
}

10-08 03:17