2013-05-23 4 views
3

JavaCameraView 클래스를 확장하여 비디오 스트림을 여는 Android 앱을 만들었습니다. 응용 프로그램은 처리 할 프레임을 캡처해야합니다. 이 응용 프로그램을 실현하기 위해 OpenCV4Android 패키지 (버전 2.4.5)에 포함 된 자습서를 사용했습니다. 저는 Eclipse Juno를 사용하고 있습니다. 휴대 전화는 s4 s4이며, 웹 서핑은 갤럭시 s, s2, s3, s4를 포함한 많은 장치에서 내 문제가 매우 일반적이라는 것을 알고 있습니다.Android 앱의 카메라 방향

내 문제는 내 카메라를 열 때 초상화 모드에서 90도 회전된다는 것입니다. 항상 가로 방향 인 것 같습니다. 비행 중 카메라를 뒤집을 수있는 곳을 읽었지만 어떻게 이해하지 못했습니다. 누군가 나를 도울 수 있습니까?

+0

해결 했습니까? – powder366

답변

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); 
+0

opencv를 통해 카메라에 액세스하고 android가 아니기 때문에이 메서드를 사용할 수 없으므로 카메라 클래스가 아닌 CameraViewBridgeBase mOpenCvCameraView를 사용해야합니다. –