2012-12-10 3 views
3

카메라의 도움을 받아 그림을 그리는 데 도움이되는 Android OS 용 응용 프로그램을 개발하고 있습니다. 앱은 카메라 골짜기 onPreviewFrame(byte[] data, Camera camera)에서 프레임을 캡처하는 방식으로 작동하며 여기에서 사진은 이진 검정/흰색으로 변환됩니다. 일반적으로 앱에서 작동하지만 다음 질문이 있습니다.휴대 전화를 움직일 때의 이미지 안정화 - Android

  1. 캡쳐 이미지 쓰루 상영 시간이 매우 느립니다. 지금은 프레임을 건너 뛰지만 방법은 여전히 ​​느립니다.

    YuvImage yuvImage = new YuvImage(data, ImageFormat.NV21, width, height, null); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    yuvImage.compressToJpeg(new Rect(0,0,width, height), 100, baos); 
    byte [] imageData = baos.toByteArray(); 
    Bitmap bmp = BitmapFactory.decodeByteArray(imageData , 0, imageData .length); 
    bmp = Bitmap.createScaledBitmap(bmp, surfaceView.getMeasuredHeight(), surfaceView.getMeasuredWidth(), false); 
    Bitmap bmps = ImageHelper.rotate(bmp, kot); 
    

    더 빠르게 사진을 찍는 방법이 있습니까?

  2. 휴대 전화가 완전히 정지되어 있고 빛은 동일하지만 모든 커플 프레임 피 크롤은 동일하지 않습니다 (다른 히스토그램).

+0

관련 문제 : -http : //stackoverflow.com/questions/5634053/processing-android-camera-frames-in-real-time –

+0

예, 그렇지만 동일하지는 않습니다 ... –

+0

나는 당신입니다. 'onPreviewFrame()'메쏘드에서 많은 연산을 수행하고 테스트중인 전화기의 사양은 무엇입니까? –

답변

0

나는 NDK를 사용해야한다고 생각합니다. 메인 스레드가 아닌 다른 스레드에서도이 유형의 처리를 원할 수 있습니다.

작은 점 (2). 히스토그램은 얼마나 다른가요? 대부분의 카메라 센서 및 처리 방식은 다양 할 수 있으며 3A 알고리즘의 노이즈 및 변형으로 인해 정확한 히스토그램을 생성하기가 어려울 수 있습니다.

관련 문제