안녕하세요 저는 카메라에서 이미지를 가져 오는 안드로이드 응용 프로그램을 작성하고 있었는데 카메라 매개 변수 메서드 setPictureFormat()이 실제로하는 일과 그 영향에 대해 궁금합니다. 내가 아는 한 camera.takePicture()는 실제로 JPEG 콜백의 데이터 만 제공합니다. 그래서 onPictureTaken()에 도착한 데이터 배열은 JPEG 데이터라고 생각합니까? 그렇다면 왜이 매개 변수를 PixelFormat.RGB_565로 설정해야합니까? 그리고 직접적으로 데이터 배열을 직접 해석 할 수있는 방법이 있는가 onPictureTaken() BitmapFactory.decodeByteArray 예를 들어? 다소 이상한 점은 2448 * 3264 해상도의 결과 이미지가 총 7990272 픽셀에 해당한다는 것입니다. 그러나이 이미지를 생성 한 기본 데이터 배열은 약 2000000 픽셀의 길이를 가지고 있습니다. 누군가가 저를 위해 그것을 명백하게 할 수 있던 경우에 매우 평가 될 것입니다.안드로이드 카메라 setPictureFormat 및 onPictureTaken의 데이터 배열
답변
setPictureFormat()
메서드는 takePicture()
에 전달하는 raw 및 postView 콜백에서 반환 된 바이트 배열에 픽셀 형식을 적용합니다. 문서에서 언급했듯이 이러한 콜백은 지원할 버퍼가없는 하드웨어에서도 발생하지 않을 수 있지만 이러한 상황이 발생하면 데이터는이 설정에 따라 형식이 지정됩니다. JPEG 콜백이 JPEG 형식으로 압축 된 데이터를 다시 전달하는 것이 맞습니다.
예를 들어, 원시 바이트 배열의 크기는 선택한 픽셀 형식에 따라 달라집니다. 2448 * 3264 = 7,990,272 픽셀이지만 각 픽셀은 배열의 바이트 수로 표시됩니다. 예를 들어, NV16 또는 RGB_565와 같은 형식은 각 픽셀을 나타 내기 위해 16 비트 (2 바이트)를 갖습니다. 즉, 실제 원시 바이트 배열 길이는 15,980,554 (~ 15MB)이며 이는 메모리에 한 번에 저장할 수있는 매우 많은 양의 데이터입니다 (원래 G1의 거의 전체 힙 크기). 따라서 모든 장치가 원시 이미지 데이터를 버퍼링하고 반환하지는 않습니다.
JPEG 콜백에서 반환 된 데이터의 길이를 검사 할 때 더 이상 원시 비트 맵 이미지가 아닌 압축 된 JPEG 이미지 데이터를보고있는 것입니다. 이런 이유로 결과는 훨씬 작아 질 것입니다. 이 JPEG 이미지 데이터를 비트 맵으로 다시 팽창 시키면 (예 : BitmapFactory 사용) 크기가 다시 조정됩니다. ARGB_8888 비트 맵 (픽셀 당 4 바이트)으로 메모리에로드 된 이미지는 약 32MB를 소비합니다. 코드에서 OutOfMemoryException을 향한 쉬운 길입니다.
희망이 도움이됩니다!
- 1. 안드로이드 : setPictureFormat() 오류
- 2. 카메라 및 프레임 안드로이드
- 3. 안드로이드 카메라 byte [] 배열을 2 차원 배열
- 4. 안드로이드 서버에 배열 데이터 보내기
- 5. 자바 안드로이드 통과하는 데이터 배열
- 6. 안드로이드 카메라 - 서버 - 사망 및 카메라 오류-100
- 7. 카메라 크기 (안드로이드)/
- 8. 안드로이드 카메라 사용하기
- 9. 안드로이드 카메라 래퍼 라이브러리
- 10. 안드로이드 카메라 SurfaceView 대안
- 11. 자르기와 안드로이드 카메라 의도
- 12. 카메라 사이의 안드로이드 카메라 미리보기 스위치
- 13. MySQL의 배열 및 데이터
- 14. 강제 안드로이드 카메라 해상도
- 15. 안드로이드 - 더블 클릭 카메라
- 16. 안드로이드 카메라 설정 이미지
- 17. 표면보기에서 안드로이드 카메라 미리보기
- 18. 안드로이드 앞면 카메라
- 19. 안드로이드 - 카메라 표면의 오류
- 20. 안드로이드 카메라 응용 프로그램
- 21. 안드로이드 카메라 버튼
- 22. 백그라운드에서 안드로이드 카메라
- 23. 안드로이드 카메라 표면보기
- 24. 안드로이드 카메라 잠금
- 25. 안드로이드 카메라 플래시 전환
- 26. 안드로이드 카메라 용 공기
- 27. 안드로이드 카메라 픽셀 조작
- 28. 안드로이드 카메라 미리보기 튜토리얼
- 29. 카메라 미리보기 - 안드로이드
- 30. 안드로이드 카메라 맞춤형 품질
감사합니다. 감사합니다. 감사합니다. – Christian