마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이미지뷰 속도 개선.ㅠㅠ

0 추천

안녕하세요?

안드로이드 O/S 를 사용해서 영상처리를 하고 있습니다.

NDK 단으로 카메라 데이터를 보내고 처리 후 bitmap으로 만들어서 이미지뷰에 뿌리고 있습니다.

그런데 속도가 생각보다 너무 낮게 나오네요. 한 10프레임 정도.

imageview.setimagebitmap(); 함수를 빼면 20~23프레임이 처리 되는데...

imageview 가 아닌 surfaceview 로 바꿔보려했는데 카메라 프리뷰를 surfaceview 로 처리를 해놔서 어떻게 바꿔야 하는지도 모르겠구요..ㅠㅠ 고수님의 답변 기다립니다.ㅠ

코드는 아래~

C코드도 포함 시키고 싶은데ㅠ 길이 제한때문에 못올리네요.ㅠ

private native void HISTOGRAMCOMPRESS(Bitmap _outBitmap, byte[] _in, int flag, int width, int heigth, int Avg_NumOfPix);
    
 public void surfaceCreated(SurfaceHolder holder){
  try {
         mCamera = Camera.open();
         mCamera.setPreviewDisplay(holder);
         
         mCamera.setPreviewCallback(new Camera.PreviewCallback() {
    
    @Override
    public void onPreviewFrame(byte[] data, Camera camera) {
     // TODO Auto-generated method stub
     
 
     if(a == 0)
     {
      Camera.Parameters params = camera.getParameters();
      width = params.getPreviewSize().width;
      height = params.getPreviewSize().height;
      
      Avg_NumOfPix = width*height/256;
      prBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
     }
     
     
     
     HISTOGRAMCOMPRESS(prBitmap, data, flag, width, height, Avg_NumOfPix);

     mImageview.setImageBitmap(prBitmap);
     
     
     
     a = 1;
    }
   });
         
        } catch (IOException exception) {
            mCamera.release();
            mCamera = null;
            mImageview = null;
            // TODO: add more exception handling logic here
        }
 }

 

익명사용자 님이 2013년 4월 3일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...