В целях сканирования изображения мне бы хотелось, чтобы пиксель (который я могу получить из UIImage) соответствовал (на определенный процент) предварительно заданному цвету.
Скажи розовый. Когда я сканирую изображение на наличие розовых пикселей, я хочу, чтобы функция возвращала процент от того, насколько значение RGB в пикселе выглядит как мое предварительно установленное значение RGB. Таким образом, я бы хотел, чтобы все (ну, большинство) розовых пикселей стали «видимыми» для меня, а не только для точных совпадений.
Кто-нибудь знаком с таким подходом? Как бы вы сделали что-то подобное?
Заранее спасибо.
ОБНОВЛЕНИЕ: Спасибо всем за ваши ответы. Я принял ответ от Дэмиена Поллета, потому что он помог мне в дальнейшем, и я пришел к выводу, что вычисление векторной разницы между двумя цветами RGB делает это идеально для меня (в данный момент). Может потребоваться некоторая настройка со временем, но сейчас я использую следующее (в задаче c):
float difference = pow( pow((red1 - red2), 2) + pow((green1 - green2), 2) + pow((blue1 - blue2), 2), 0.5 );
Если эта разница ниже 85, я принимаю цвет в качестве целевого цвета. Поскольку мой алгоритм не нуждается в точности, я согласен с этим решением:)
ОБНОВЛЕНИЕ 2: в моем поиске я нашел следующий URL, который может быть весьма (заниженным) полезным для вас, если вы ищете что-то подобное.
http://www.sunsetlakesoftware.com/2010/10/22/gpu-accelerated-video-processing-mac-and-ios