Fundamental Notes/Android 58

Android : YUV420 Format

Android 에서 Preview로 부터 frame들을 받아내기 위해서는 PreviewCallback의 onPreviewFrame()을 이용해야 한다. 그런데 여기서 onPreviewFrame()의 data배열은 YUV420포맷으로 넘어온다. YUV420? 넌 뭐니... 대체.. ㅠㅠ RGB 색공간 RGB는 Red, Green, Blue 빛의 3가지 속성으로 영상을 표현하는 방식을 말합니다. 일반적으로 PC의 모니터 등에서 많이 사용됩니다. RGB 방식에서 흑백을 표현하기 위해서는 R=G=B 3개의 채널 값이 동일하면 흑백으로 표현됩니다. (빛의 가산 혼합) 흰색 : 255, 255, 255 회색 : 128, 128, 128 검정 : 0, 0, 0 즉, 흑백을 표현하기 위해서는 3개의 채널 값이 필요합니..

Android : toRGB565(byte[] yuvs, int width, int height, byte[] rgbs)

private void toRGB565(byte[] yuvs, int width, int height, byte[] rgbs) { //the end of the luminance data final int lumEnd = width * height; //points to the next luminance value pair int lumPtr = 0; //points to the next chromiance value pair int chrPtr = lumEnd; //points to the next byte output pair of RGB565 value int outPtr = 0; //the end of the current luminance scanline int lineEnd = width; w..

Android : Bitmap from Camera Preview using BitmapFactory.decodeByteArray 옵션

Comment 4 by justinbonnar, Apr 17, 2009 The preview data comes in a YUV 4:2:0 format. If you only need grayscale information, the first (width * height) bytes of the preview are provided as unsigned byte intensities. To decode the color information to RGB suitable for use with a Bitmap, I've ported the following code from Android's platform/hardware/msm7k.git/yuv420sp2rg/yuv420sp2rgb.c which acc..

Android : Handler & AlarmManager. Timer

출처 : http://www.androidpub.com/4374 안드로이드 SDK에서 일정시간 후에 일어나는 혹은 주기적인 작업처리 방법에 대해서 알아보겠습니다. 이러한 Timing 작업을 처리하기위해 Handler와 AlarmManager를 사용할 수 있는데 둘 간의 차이점을 잘알고 사용하셔야 합니다. 먼저 AlarmManager는 현재 특정 어플리케이션이 실행되고 있지 않더라도 특정 시점에 해당 어플의 코드가 실행되도록 할때 사용됩니다. 현재 내 어플리케이션의 Activity가 보여지고 실행되고 있는 상황에서 타이밍 작업을 할때에는 Handler를 사용하는 것이 바람직합니다. AlarmManager는 단말이 슬립모드에 들어가있을 경우에도 단말을 깨워서 작업처리를 할 때 사용할 수 있습니다. (RTC의..