2012-06-18 3 views
1

Я хочу настроить изображение как инструмент для рисования в Photoshop. Он изменяет цвет изображения, контрастность и т. Д. В каждом канале R, G, B или все RGB. любая идея для выполнения этой задачи в объективе C?Photoshop-like Curves tool в Objective-C

Я нашел эту ссылку http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=68577&lngWId=-1 но только настроить кривые во всех изображениях с помощью VB, не поддерживают каждый цветовой канал, как фотошоп

ответ

2

Пути кривые работу в Photoshop использовать гистограммирование методы. По существу, один захватывает гистограмму, подсчитывая количество каждого значения (значения, которые могут быть назначены, находятся на оси X гистограммы), которые есть во всем изображении. Можно выполнить эту операцию, чтобы получить гистограмму для каждого цветового канала.

Посмотрите здесь изображения гистограммирования http://en.wikipedia.org/wiki/Image_histogram

После один имеет гистограмма, кривая может быть применена (для каждого цветового канала, если вам нравится). Стандартная кривая - это одна-2-я или линейная кривая. Это означает, что когда фактическое значение пикселя равно 10, значение, назначенное вашему отредактированному изображению, равно 10.

Можно представить любую кривую или даже случайное распределение. Хотя существует множество методов, стандартный метод основан на методах гистограммы на основе журнала. То, что это делает, по существу, смотрит на гистограмму изображения и применяет наибольшие наклоны кривой преобразования к областям гистограмм с наибольшим количеством входных пикселей, что обеспечивает хороший контраст для большинства пикселей.

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

+0

Я обнаружил, что инструмент кривых просто создает матрицу отображения для преобразования текущего цветового пространства в другое. Таким образом, все значение цвета пикселя станет другим по функции y = f (x) (f (x) - функция, представляющая кривую, которую мы нарисовали в инструменте кривых) –