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 件のコメント:
コメントを投稿