Оценка яркости кадра 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);
Другие вопросы по тегам