Android应用中的相机定位

时间:2013-05-23 08:13:16

标签: android opencv camera orientation

我创建了一个Android应用,可以打开视频流,扩展JavaCameraView类。应用程序应捕获帧以处理它们。我已经使用OpenCV4Android包(版本2.4.5)中包含的教程来实现这个应用程序。我使用Eclipse Juno,我的手机是三星s4,在网上冲浪我意识到我的问题在很多设备上很常见,包括galaxy s,s2,s3,s4。

我的问题是我的相机在打开时,在纵向模式下会旋转90度。它似乎总是在横向方向。 我在某处读过可以动态翻转相机,但我还不知道怎么做。 有人能帮助我吗?

1 个答案:

答案 0 :(得分: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);