私はいくつかの画像処理を使用して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 );
asimg
はImageView
、処理されたバッファを示す です。
これはすべて非常に遅く動作します。問題の一部は、カメラの操作方法にあると思います。
問題に気付くことができましたか?
ありがとう!