Как правило, это одна из классических задач обработки сигналов и существует несколько подходов, основанных на том, как вы определяете «яркость». Это в целом то же самое для «яркости» образа «громкость» звукового сигнала и т.д.
Некоторые идеи о том, что вы можете использовать в качестве родового «яркость» является:
- Среднее значение все пиксели (т.е. суммируйте все яркости всех пикселей, затем разделите их на общее количество пикселей, то есть ширину * высоту).
- Создайте гистограмму распределения яркости, затем выберите такую точку x в этой гистограмме, что 98% (95%, 90%, 70% - это число может меняться) всех пикселей на вашем изображении будет менее ярким чем этот x. Это называется процентили.
- Подсчитайте "root mean square" (RMS) для всех пикселей (суммируйте квадраты всех пикселей, разделите их на общее количество пикселей, извлеките из этого квадратного корня).
Существует несколько библиотек изображений, которые могут дать хорошие результаты. Самый простой, который можно использовать из сценария оболочки, вероятно, это ImageMagick/GraphicsMagick - вы можете получить как простые средние значения, так и выполнить более сложную гистограмму, чтобы проверить процентили, если хотите.
Я смотрю на повторную выборку изображения на монохромное изображение 1x1 px, чтобы получить среднее значение, которое мне нужно сравнить с другими изображениями, поэтому это, вероятно, самое близкое предложение тому, что я считаю правильным ответом. – dibs