За целите на сканирането на изображения бих искал пиксел (който мога да получа от UIImage) да съответства (за определен процент) на предварително зададен цвят.
Кажете розово. Когато сканирам изображението за пиксели, които са розови, искам функция да върне процент от това колко RGB стойността в пиксела изглежда като моята предварително зададена RGB стойност. По този начин бих искал всички (е, повечето) розови пиксели да станат „видими“ за мен, а не само точните съвпадения.
Някой запознат ли е с подобен подход? Как бихте направили нещо подобно?
Благодаря предварително.
АКТУАЛИЗАЦИЯ: Благодаря на всички ви за отговорите досега. Приех отговора от Damien Pollet, защото ми помогна допълнително и стигнах до извода, че изчисляването на векторната разлика между два 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
pink
. Тъмно розовото все още ли е розово? - person 6502   schedule 15.01.2011