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 픽셀마다 평균하여 이미지 너비와 높이를 둘 다 줄임).
팁 주셔서 감사합니다. 저는 현재 카메라 API를 사용하고 있으며 이미지의 중심에있는 영역의 픽셀 만 사용하여 훨씬 적은 데이터를 분석하고 있습니다. – chvck