2013-12-18 4 views
1

현재 작업중인 프로젝트에 Android 카메라 API를 사용하고 있는데 이상한 행동이 나타납니다. 미리보기 크기를 더 높은 해상도로 변경하면 훨씬 더 선명한 품질의 미리보기가 제공되지만이 성가신 확대/축소 효과가 발생합니다. 1024x512의 개체에서 5cm 크기로 장치를 들고 있다고 가정 해 봅시다. 완전히 보아라. 그러나 1920x1080으로 변경하면 객체를 확대 한 것처럼 보이며 멀리서 전체를 캡처해야합니다. 이제는 더 높은 해상도로 내 물건에 대한 자세한 정보를 얻으 려하지만 조금 더 실망 스럽지만 센서에서 더 멀리 떨어져 가야만 센서가 그 세부 정보를 얻을만큼 충분하지 않습니다. 카메라 API로 잘못 이해 한 부분이 있습니까?Android Camera API - 이상한 확대/축소 효과

+0

카메라 미리보기 프레임을 어떻게 렌더링하고 있습니까? (화면의 창에 크기가 조절되지 않는지 궁금합니다.) – fadden

+0

SurfaceView 사용. API가 미리보기의 해상도에 따라 SurfaceView의 해상도를 설정한다고 생각했습니다. 아마. SurfaceView의 옵션을 살펴 보지 않았습니다 ... –

+0

TextureView는 확장되고 일반적으로보기처럼 동작합니다. SurfaceView는 표면 합성기가 직접 처리하는 레이어 위에 놓이는 투명 사각형입니다. TextureView 문서 (http://developer.android.com/reference/android/view/TextureView.html)에는 카메라 미리보기를보기로 라우팅하는 예제가 있습니다. – fadden

답변

1

이것은 사용자 측의 버그 일 수도 있고 장치의 카메라 버그 (또는 원하는 경우 기능) 일 수 있습니다. 확인하려면 미리보기 콜백 (setOneShotPreviewCallback())에 등록하여 다른 해상도로 동일한 위치에있는 버퍼를 저장하고 이미지를 비교하십시오.

개인적인 경험으로 볼 때, 4 : 3에서 16 : 9 해상도로 이동하면 종종 시야가 감소합니다. 그러나 귀하의 예에서는 두 설정 모두 동일한 종횡비를 유지합니다.

+1

다른 가로 세로 비율로 재생 해 보았습니다. 이것이 제가 알아 차린 이유입니다. 감사합니다 –

+0

안녕하세요, 나는 또한 안드로이드 시스템 카메라 앱을 재생할 때이 효과를 발견했습니다. 4 : 3 비율은 동일한 거리에서 16 : 9보다 큰 필드를가집니다. 하지만 문제가 발생하여 내 응용 프로그램에서이 효과가 필요하지만 API Camera.Parameters.setPreviewSize (int, int)로 미리보기 크기를 변경하면 미리보기 필드가 변경되지 않습니다. 이 효과는 어떻게 구현합니까? 잘못된 방법을 사용 했습니까? – dragonfly

+0

@dragonfly : 나는 당신의 질문을 이해하지 못합니다. 미리보기 크기가 변경 될 때 카메라의 시야를 제어하는 ​​* contract *는 없습니다. 자세한 내용을 알려주십시오. 단 한 번의 답장을 넘어서는 것을 기대한다면 새로운 질문을하는 데 드는 비용은 들지 않습니다. –