Как правило, это одна из классических проблем обработки сигналов, и существует несколько подходов, основанных на том, как вы определяете «яркость». Обычно это относится к «яркости» изображения, «громкости» звукового сигнала и т. Д.
Некоторые идеи о том, что вы можете использовать в качестве общей «яркости»:
- Среднее значение всех пикселей (т.е. суммируйте все яркости всех пикселей, затем разделите на общее количество пикселей, то есть ширину * высоту).
- Создайте гистограмму распределения яркости, затем выберите такую точку x в этой гистограмме, что 98% (95%, 90%, 70% - это число может варьироваться) от всех пикселей в вашем изображении будет менее ярким, чем этот x . Это называется процентиль.
- Рассчитать «среднеквадратичное значение» (RMS) для всех пикселей (суммировать квадраты всех пикселей, разделить на общее количество пикселей, извлечь квадратный корень из этого).
Существует несколько библиотек изображений, которые могут дать хорошие результаты. Самым простым в использовании из сценария оболочки, вероятно, является ImageMagick / GraphicsMagick - вы можете получить как простые средние значения, так и выполнить более сложную гистограмму, чтобы проверить процентили, если хотите.