2011-02-08 4 views
3

Im делает некоторую обработку изображения, и у меня есть координаты 4 точек четырехугольника. (что-то вроде трапеции) Как я могу получить координаты всех пикселей внутри него? Кстати, я использую Java. Спасибо!Как найти пиксельные точки внутри четырехугольника, используя Java?

+0

Вы имеете в виду площадь в пикселях или список всех отдельных пикселей, находящихся в форме? Предполагая первое, и что координаты, которые у вас есть, представляют собой четыре отдельных пикселя, вам просто нужно найти и реализовать формулу для определения области четырехугольника (Google поможет вам в этом). –

ответ

1

Необходимо заполнить полигон полилинии.

Вот быстрый PDF лекции по теме:

http://www.cs.binghamton.edu/~reckert/460/lect11_2009-areafill-transformations.pdf

Вот пример веб-страницы с некоторым кодом образца C и хорошей иллюстрацией основной идеи:

http://alienryderflex.com/polygon_fill/

Вот короткая форма. Разделите четырехугольные линии на те, которые находятся слева, и справа. Для каждой строки констант-Y-координаты выведите точку пересечения левой линии; определить точку пересечения для правильной линии; все пиксели в этой строке между двумя точками пересечения находятся внутри вашей трапеции.

Как раз в истории эта вещь была первоначально (и, вероятно, еще) выполнена для рендеринга 3d-сцен в программном обеспечении. Я думаю, что тогда у него другое имя, но я не помню его. Однако на самом деле вам не нужно рисовать пиксели; алгоритм даст вам пиксели, рисуете ли вы их или нет.

0

http://wiki.processing.org/w/Find_which_side_of_a_line_a_point_is_on имеет псевдокод о том, как найти, на какой стороне линии находится точка.

Если ваш квадрат определяется точками, то A, B, C, D - проверка, если ваша точка находится на левой стороне AB, BC, CD и DA, должна дать вам ответ.

Редактировать: К сожалению, я прочитал ваш вопрос, как найти a пункт, не все пункты. Надеюсь, это еще полезно.

0

Это вопрос обнаружения столкновения? Вы хотите знать, находится ли данная точка внутри формы? Или вы действительно хотите, чтобы координаты всех точек внутри вашей фигуры?

+1

Нет, это не вопрос обнаружения столкновения. Я хотел бы знать все координаты внутри данной формы, поэтому я могу рассчитать средние значения RGB внутри этого многоугольника. – orangebrainer

+0

Я ищу решение такого рода. Можете ли вы указать мне в правильном направлении? –

Смежные вопросы