У меня есть изображение, которое я пытаюсь циклически находить в пикселях.
Итак, если это слой 1000px x 1000px, то я вижу это изображение (я просто показываю фрагмент изображения, надеюсь, этого будет достаточно для понимания):
Но если я изменю размер своего изображения, например, до 300 x 300 пикселей, оно будет выглядеть так (также просто покажите фрагмент изображения):
Итак, как вы можете видеть после уменьшения размера, у нас есть дополнительные пиксели не только фиолетового и зеленого, но и что-то вроде градиента между двумя цветами. Но я пишу программу, которая пытается определить положение пикселей для зеленого и фиолетового, поэтому я просто использую 2 цвета, чтобы найти подходящее положение. Без изменения размера моя программа обнаруживает это хорошо, но после изменения размера возникает проблема с определением подходящего положения цвета.
В фотошопе, если вы используете, например, допуск 100 и снимаете галочку сглаживания, он работает хорошо и находит правильное положение даже с градиентом.
Как реализовать толерантность в моем коде. Так, например, у меня есть зеленый цвет, который мне нужно сравнить со всеми цветами допуска. И если пиксель на 100 процентов толерантен к зеленому, то программа должна считать, что пиксель подключен к зеленому цвету.
Что я имею в виду. Например, у меня есть цвет RGB (0, 255, 0), и я хочу найти к нему все допуски. В данном случае для зелени.
Или, например, если у меня есть RGB (100, 255, 50), то мне нужно найти для него все допуски цветов.
Я полагаю, здесь должен быть диапазон, который я могу установить, и цвета для проверки допустимого цвета.
Кроме того, я использую необработанные данные для цикла всех пикселей. Итак, я могу получить RGBA:
float red = (rawData[byteIndex] * 1.0) / 255.0;
float green = (rawData[byteIndex + 1] * 1.0) / 255.0;
float blue = (rawData[byteIndex + 2] * 1.0) / 255.0;
float alpha = (rawData[byteIndex + 3] * 1.0) / 255.0;
Таким образом, обнаружение сплошного цвета работает идеально, но у меня есть вопрос, как распознать этот градиент и решить, связан ли цвет с зеленым или фиолетовым.
Здесь также мой предыдущий вопрос, как зациклить пиксель.