Лично я бы не стал писать Python или загружать OpenCV для такой простой операции.Если вам абсолютно необходимо использовать Python, просто проигнорируйте этот ответ и выберите другой.
Вы можете просто использовать ImageMagick в командной строке вашего терминала, чтобы получить среднюю яркостьизображение в процентах, где 100 означает «полностью белый» , а 0 означает «полностью черный» , например:
convert someImage.jpg -format "%[fx:int(mean*100)]" info:
В качестве альтернативы, вы можете использоватьlibvips
, который является менее распространенным, но очень быстрым и очень легким:
vips avg someImage.png
Ответ vips
по шкале 0, 255 для 8-битных изображений.
Обратите внимание, что оба эти метода будут работать для многих типов изображений, от PNG до GIF, JPEG и TIFF.