Самый гибкий способ - создать гистограмму для каналов красного, зеленого и синего цветов, а затем использовать ее для определения средней яркости, средней яркости, точек черного / белого, контрастности или других пользовательских функций.
Используйте CGBitmapContextCreate
для создания растрового контекста, поддерживаемого буфером вашего создания, нарисуйте в нем свое изображение, затем выполните цикл по каждому пикселю в буфере для заполнения гистограмм.