上午上一個項目,需要Images
或Preview Images
從Camera
那麼我必須計算圖像中的Blue
平均計數的工作,我已經把圖像從快速攝像機(As Preview Images
)。 圖像格式是NV21
(真的不是在圖像格式的專家,所以我不知道他們爲什麼使用它)計算彩色攝像頭預覽
,這是我從Camera Preview Callback
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Size size = parameters.getPreviewSize();
YuvImage image = new YuvImage(data, ImageFormat.NV21, size.width,
size.height, null);
Rect rectangle = new Rect();
rectangle.bottom = size.height;
rectangle.top = 0;
rectangle.left = 0;
rectangle.right = size.width;
ByteArrayOutputStream out2 = new ByteArrayOutputStream();
image.compressToJpeg(rectangle, 100, out2);
byte[] d = out2.toByteArray();
Bitmap bitmap = BitmapFactory.decodeByteArray(d, 0, d.length);
}
和讀取的圖像您看到我現在有Bitmap
,並且我計劃通過讀取Bitmap
像素然後處理Pixel by Pixel
來確定圖像中的藍色,但同事說這種方式在某些情況下很重且很慢,並且不準確,而且和我必須將圖像中的藍色作爲墊子rix從硬件它自我,並不知道從哪裏開始(順便說一句,我的同事在iOS版本上工作),任何幫助將不勝感激。
我來看看,謝謝:) –