2011-03-24 8 views
2

내장 된 것을 의도로 사용하여 카메라를 사용하는 Android 애플리케이션을 만들고 있습니다. 저는 픽셀 단위로 사진에 대한 분석을하고 있습니다. 제 산속에서 보통 사진의 79000 픽셀이 반환됩니다. 이로 인해 분석 속도가 조금 느려집니다.Android 카메라 의도 이미지 품질

인 텐트를 사용할 때 반환되는 카메라 또는 이미지의 품질/해상도를 설정하는 방법이 있습니까? 나는 구글과 API를 둘러 보았고 많은 것을 생각해 내지 못했다. 누구나 이것이 가능한지 알고 있거나 이미지 해상도를 떨어 뜨리는 다른 방법을 알고 있습니까?

도움을 주시면 감사하겠습니다.

답변

3

API를 사용하여 응용 프로그램 자체가 의도가 아니고 응용 프로그램이 아닌 응용 프로그램을 사용하는 이유는 무엇입니까? 이런 식으로 카메라를 사용할 때 여러 가지 문제점을 보았습니다. 어쨌든 당신이 완전한 통제를 원한다면 당신은 의도를 사용해서는 안됩니다. API를 통해 사진을 찍는 작업 예제가 많이 있습니다.

따라서 API를 통해 카메라를 사용할 때 Camera 클래스의 setParameters 메서드를 사용하여 CameraParameters 객체를 카메라 객체에 전달하고 다양한 매개 변수를 변경할 수 있습니다.

CameraParameters 클래스에는 그림의 크기를 변경하는 데 사용할 수있는 setPictureSize (int, int) 메서드가 포함되어 있습니다. CameraParameters의 getSupportedPictureSizes() 메서드를 사용하여 장치에서 지원하는 사진 크기를 찾고 적합한 크기를 사용할 수 있습니다.

List<Size> sizes = mCamera.getParameters().getSupportedPictureSizes(); 

for (Size size : sizes) { 
    // Do something, e.g. : 
    menu.add(0, 1, 1, size.width + "x" + size.height);  
} 

또한 사진의 형식을 NV21으로 설정할 수 있습니다. 이것은 원시 형식이며 반환 된 이미지의 픽셀을 직접 하위 샘플링 할 수 있습니다 (단일 픽셀을 4 픽셀마다 평균하여 이미지 너비와 높이를 둘 다 줄임).

+0

팁 주셔서 감사합니다. 저는 현재 카메라 API를 사용하고 있으며 이미지의 중심에있는 영역의 픽셀 만 사용하여 훨씬 적은 데이터를 분석하고 있습니다. – chvck