0

私はいくつかの画像処理を使用してAndroidでARアプリを構築しています.カメラを処理する方法は、偽の表面を作成することです:

        SurfaceView view = new SurfaceView(context);
        camera.setPreviewDisplay(view.getHolder());

次に、カメラ バッファを取得するために使用し、メイン アクティビティと共有されている場所をsetPreviewCallbackWithBuffer使用してバッファを共有バッファに送信します。System.arraycopy( data, 0, Buffer.m_data, 0, data.length);Buffer.m_data

私の主なアクティビティでは、ループを実行し、共有バッファーを取得して、それを NDK コードに送信し、取得して画像として表示します。

if( m_bitmap == null ){
    m_bitmap = Bitmap.createBitmap( m_width, m_height, Bitmap.Config.ARGB_8888 );
}
m_bitmap.copyPixelsFromBuffer( ByteBuffer.wrap(m_imData.m_data) );

img.setImageBitmap( m_bitmap );

asimgImageView、処理されたバッファを示す です。

これはすべて非常に遅く動作します。問題の一部は、カメラの操作方法にあると思います。

問題に気付くことができましたか?

ありがとう!

4

1 に答える 1

0

ほとんどの場合、これをはるかに高速に実行するにはCanvas と Drawablesが必要です。

于 2013-05-29T05:25:17.090 に答える