У меня есть несколько кругов, расположенных в image, я могу найти местоположение для каждого круга (диаметр и начало координат или центр), поэтому, прежде всего, как я могу проверить все пиксели внутри этого круга (я думаю о цикле for). во-вторых, как я могу спросить, цвет пикселя почти серый? Сначала я хотел спросить, выше ли значения красного, зеленого и синего 125, но это не сработало. Например: (200 130 170) - это точно не серый цвет!
Вопрос
Как добраться до круга и определить его цвет?
Ответы
Ответ 1 · рейтинг 1 · Caius Jard
Если вы хотите проверить, находится ли точка внутри круга, используйте Пифагор.
Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
... чтобы определить, насколько далеко точка (x1,y1) находится от центра (x2,y2) окружности. Если вычисленное значение меньше радиуса круга, точка находится внутри круга. Это можно немного оптимизировать, удалив sqrt и проверив, меньше ли результат, чем квадрат радиуса.
Все почти серое, если RGB почти одинаковы. 64,64,64 = темно-серый, 72,64,64 = темно-серый, слегка красноватый. Вам нужно будет определить, что означает "почти"
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Создавайте больше изображений объекта под разными углами
- Отрицательное значение размера изображения qml
- Javafx 2.1 не может обновить ImageView после редактирования своего изображения
- Не удается найти путь к изображению в pictureBox, изображение = новое растровое изображение (путь)
- Сгенерировать изображение .bmp на С#
- Как нарисовать соседние растровые изображения на холсте в Android?