Оценка яркости кадра YUV
Я хочу оценить грубую яркость кадра, который входит в качестве предварительного просмотра камеры, как показано ниже. Я хочу, чтобы метод был довольно быстрым.
public void onPreviewFrame(final byte[] bytes, Camera camera) {
// calculate brightness
}
Есть ли способ сделать это без преобразования в RGB? Также было бы очень хорошо, если бы существовал быстрый способ определения размытости без использования OpenCV.
1 ответ
Хорошо, я понял это сам:
long sumY = 0;
for (int j = 0, yp = 0; j < previewHeight; j++) {
for (int i = 0; i < previewWidth; i++, yp++) {
int y = (0xff & ((int) bytes[yp]));
if (y < 0) {
y = 0;
}
sumY += y;
}
}
int bp = (int)sumY/(previewWidth * previewHeight);