преобразование изображения в массив линий для рисования - PullRequest
0 голосов
/ 07 октября 2010

Как мне создать список линий для рисования, если у меня есть данные пикселей для изображения, чтобы мне не приходилось рисовать каждый пиксель?Подойдет любой язык, хотя я перечислил, для чего у меня есть рабочие знания.С тоже хорошо.Был предел, сколько тегов я мог выбрать.Кроме того, вы можете просто указать мне на алгоритм.

Ответы [ 5 ]

1 голос
/ 07 октября 2010

Если вы хотите извлечь строки из изображения, попробуйте преобразование Hough ., Проверьте также Обратимая реконструкция прямой линии , которая появилась в Graphics Gems V. Код онлайн на http://tog.acm.org/resources/GraphicsGems/gemsv/ch6-5/

1 голос
/ 07 октября 2010

Как правило, растровые изображения хранятся в последовательной памяти, что идеально подходит для отображения на дисплее «blitting»;в выбранном вами графическом интерфейсе будет функция для рисования растровых изображений, и эта функция будет очень тщательно оптимизирована.

С другой стороны, разложение изображения на линии - векторизация изображения - это область специализированных программ итекущие исследования.Во всех случаях он будет медленнее для компьютера и медленнее для рисования, чем просто перетаскивание растрового изображения.

1 голос
/ 07 октября 2010

Вы ищете алгоритм «растр в вектор».Термин происходит от ранних систем графического отображения, которые использовали CRT (электронно-лучевую трубку) для самого дисплея.Было два подхода к отображению графики: «растр» - это сканирование ряда линий слева направо, сверху вниз, каждая строка состоит из пикселей включения / выключения.Контроллер электронной пушки ЭЛТ просто сканировал один и тот же шаблон снова и снова, просто изменяя интенсивность электронного пучка.На «векторном» дисплее электронная пушка может рисовать прямую линию между любыми двумя точками - без сглаживания, без пикселизации, просто чистая прямая линия.Векторные дисплеи были способны с более высоким разрешением, но были ограничены количеством линий, которые они могли нарисовать - если на чертеже было слишком много линий, то дисплей начинал бы мерцать как время, необходимое для перерисовки изображения (для обновления люминофоров).ЭЛТ) займет больше времени, чем устойчивость поверхности люминофора ЭЛТ.Растровые дисплеи были более просты в управлении, имели гораздо меньшее мерцание, но более низкое разрешение.

0 голосов
/ 09 октября 2010

Opencv имеет функции, названные как "cvHoughLines2" для обнаружения линий.

0 голосов
/ 07 октября 2010

Как добиться с помощью линий того, что нужно делать с пикселями?Я бы сказал, что каждый пиксель нужно рисовать отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...