private class PreviewDraw implements Runnable { private byte[] _data; @Override public void run() { bitmap = BitmapUtil.yuv2rgb(_data, _previewSize.width, _previewSize.height, _rgbBuffer); // 描画 if (bitmap != null) { Canvas canv = holder.lockCanvas(); if (canv != null) { canv.drawBitmap(bitmap, 0, 0, null); holder.unlockCanvasAndPost(canv); } } } public void setData(byte[] data) { _data = data; } } private final Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() { public void onPreviewFrame(byte[] data, Camera camera) { _previewDraw = new PreviewDraw(); _previewDraw.setData(data); Thread thread = new Thread(_previewDraw); thread.start(); } };
YUV420からRGBの変換で1.2秒くらい時間がかかってます。はっきり言って現実的ではないです。
モノクロ画像の表示(Y成分だけ抜き出す)でも0.3秒くらいかかります。うーん。
0 件のコメント:
コメントを投稿