私の目標は、できるだけ高いFPSを得ることです。私はBWの小さなフレームに満足していますが、FPSは最大になるはずです。 HTC WildFire Sの getSupportedPreviewFpsRange
は(9,30)を返します。しかし、私が最も簡単な処理でプレビュー画像を描画しようとすると、視覚的には最大で約12-15FPSになります。パラメータと、私はこれを行うstartPreview()
メソッド呼び出し設定した後 :リアルタイムのコンピュータビジョン処理のために高いFPSを得る方法
camera.setPreviewCallback(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] bytes, Camera camera) {
Bitmap bitmap = Bitmap.createBitmap(size.width, size.height, Bitmap.Config.ARGB_8888);
int[] colors = new int[size.width * size.height];
for (int i=0; i < colors.length; i++){
colors[i] = getBWColor(bytes[i]);
}
bitmap.setPixels(colors, 0, size.width, 0, 0, size.width, size.height);
secondView.setImageBitmap(bitmap);
}
});
}
private static int getBWColor(byte b){
int res = 255;
for(int i=0;i<3;i++){
res = (res << 8) + b;
}
return res;
}
は、できるだけ速くそれを取得する方法はありますか? =(
誰かが「メディアレコーダーにソケットを供給すれば、ライブデータを書き込むことができます.が保存される前にデータをキャプチャすることができます(これは既に圧縮されています)。しかし、それをするために。 –