카메라 프레임을 실시간으로 처리 할 Android 애플리케이션을 만들려고합니다. 시작하려면 먼저 카메라가 보는 회색 음영 버전을 표시하고 싶습니다. 나는 onPreviewFrame
메서드의 바이트 배열에서 적절한 값을 추출 할 수있었습니다. byte[]
프레임 배열실시간으로 Android 카메라 프레임 처리
byte[] pic;
int pic_size;
Bitmap picframe;
public void onPreviewFrame(byte[] frame, Camera c)
{
pic_size = mCamera.getParameters().getPreviewSize().height * mCamera.getParameters().getPreviewSize().width;
pic = new byte[pic_size];
for(int i = 0; i < pic_size; i++)
{
pic[i] = frame[i];
}
picframe = BitmapFactory.decodeByteArray(pic, 0, pic_size);
}
제 [width*height]
값은 휘도 (그레이 스케일) 값이다 : 다음은 내 코드의 단지 단편이다. 압축을 풀면 화면에 이미지로 표시하는 방법은 무엇입니까? 2D 배열도 아니므로 너비와 높이를 어떻게 지정합니까?
YUV 이미지를 중간 JPEG가있는 비트 맵으로 변환하는 일이 발생합니까? 거의 실현 가능한 실시간 솔루션 – Rekin
나는 이것을 강력히 권고합니다. 안드로이드의 OpenCV는 프로젝트에 복잡성을 더하고 크기가 약 10MB 인 기본 라이브러리도 필요합니다. Android에는 OP가 필요로하는 것을 달성하기위한 모든 기능이 있습니다. OpenCV는 훌륭한 라이브러리이지만 이러한 상황에 과도하게 노출됩니다. – protectedmember