安卓应用中的相机方向问题

3

我创建了一个Android应用程序,它打开一个视频流,扩展JavaCameraView类。该应用程序应捕获帧以处理它们。为了实现这个应用程序,我使用了OpenCV4Android包中包含的教程(版本2.4.5)。我使用的是Eclipse Juno,我的手机是三星S4,通过上网冲浪,我意识到我的问题在许多设备上都很常见,包括Galaxy S、S2、S3和S4。

我的问题是,当我的相机打开时,处于纵向模式下的结果旋转了90度。它似乎总是处于横向方向。 我在某个地方读到可以在拍摄时翻转相机,但我没明白怎么做。 有人可以帮助我吗?

1个回答

0

默认相机方向仅为横屏模式。您需要在相机上设置参数以设置旋转。

Camera.Parameters parameters = camera.getParameters();
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
        {   
            parameters .set("orientation", "portrait");
            parameters .set("rotation",90);
        }
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
        {                               
            parameters .set("orientation", "landscape");          
            parameters .set("rotation", 90);
        }

camera.setParameters(parameters);

or

camera.setDisplayOrientation(90);

我无法使用这种方法,因为我是通过OpenCV而不是Android访问相机的,所以我必须使用CameraViewBridgeBase mOpenCvCameraView来工作,而不是使用Camera类。 - user2307515

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接