カメラを使って絵を描くのに役立つ Android OS 用のアプリケーションを開発しています。アプリは、カメラのトラフからフレームをキャプチャする方法で機能しonPreviewFrame(byte[] data, Camera camera)
、ここから画像がバイナリの黒/白に変換されます。一般的にアプリは機能しますが、次の質問があります。
onPreviewFrame から画像をキャプチャするのは非常に遅いです。今のところフレームをスキップしますが、メソッドはまだ遅いです。
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);
画像をより速く取得する方法はありますか?
また、電話は完全に静止しており、光は同じですが、すべてのカップルフレームの画像が同じではない (ヒストグラムが異なる) ことに気付きました。