我的目標是獲得儘可能高的FPS。我會很滿意BW的小型框架,但FPS應該是最大的。 HTC WildFire S上的 getSupportedPreviewFpsRange
返回(9,30)。但是當我嘗試使用最簡單的處理來繪製預覽圖像時,它的視覺效果最高可達12-15 FPS。 設置參數和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;
}
有沒有辦法得到它儘可能快的? =(
有人建議「你可以給媒體記錄器提供插口,並且它會寫入實時數據 - 這樣你就可以在保存數據之前捕獲數據(但它已經被壓縮了)」但我並不真正瞭解去做吧。 – 2011-12-27 22:19:16