Вопрос по теории преобразования изображений

Netmould
Дата: 05.07.2017 00:21:35
Всем привет.
В рамках своего хобби появилась интересная задача (как всегда от лени) - на основании любого рисунка построить его изображение прямыми линиями (вроде как line drawing) основываясь на множестве отдельных опорных точек (с заданными координатами) на двухмерной плоскости.
Если первая часть задачи мне более-менее понятна (во всяком случае в интернете есть исходники), то наложение рисунка на точки, поиск всех возможных вариантов, и выбор лучшего - это как-то совсем сложно, и при первом приближении в интернете ничего не нашлось (возможно что не там ищу).

Может кто-нибудь подсказать направление, в котором стоит начать копать по второй части задачи?
Соколинский Борис
Дата: 05.07.2017 01:15:57
Netmould,
Лучше пример чего хочется, из объяснений ничего не ясно.
exp98
Дата: 05.07.2017 10:20:28
Любопыно, это типа полутени штриховкой или же только выделение некоторых контуров?
"выбор лучшего " - это в самом деле сложно, это из области выбора "критерия качества", адекватного классу изображений, из области статистики.
наложение рисунка на точки, поиск всех возможных вариантов
Это действительно непонятно.
mini.weblab
Дата: 05.07.2017 12:17:05
Netmould,

для меня вторая часть вообще не имеет смысла, т.к линия = множество точек
exp98
Дата: 05.07.2017 14:21:19
mini.weblab,
Ребус:
. . ,
о
/ \ / \ огуречик
"
До дальнейших пояснений можно думать, что рисуем от точки к точке. Если уж только надо вычислить что-то на самом отрезке.
основываясь на множестве отдельных опорных точек
mini.weblab
Дата: 05.07.2017 15:40:05
exp98,

просто начальная задача состоит в том, чтобы найти минимальное количество точек, которое обеспечит нужное качество изображения, и накладывать рисунок на точки не нужно, потому что полученное множество точек это уже полученное изображение.

далее вы это изображение ухудшаете - заменяете наборы точек отрезками

я бы смотрела в сторону матана и на алгоритмы использующиеся для сжатия изображений
Addx
Дата: 05.07.2017 17:13:56
mini.weblab
exp98,

просто начальная задача состоит в том, чтобы найти минимальное количество точек, которое обеспечит нужное качество изображения, и накладывать рисунок на точки не нужно, потому что полученное множество точек это уже полученное изображение.

далее вы это изображение ухудшаете - заменяете наборы точек отрезками


Набор точек отрезками однозначно заменить невозможно, поэтому нет смысла сначала искать набор точек.

ТС стоит пояснить задачу, которую он ставит - что он хочет получить на выходе?
Классический пример - фильтры, есть много способов представить изображение отрезками.
Например - взять изображение как карту яркости и построить изображение линиями уровня.
Линию уровня грамотно аппроксимировать отрезками проблемы не составляет.
Можно штриховку сделать - тоже несложный алгоритм.
exp98
Дата: 05.07.2017 17:48:15
mini.weblab,
вот я и говорю, что ТС хочет рисовать
прямыми линиями
(читай отрезками). Однако имхо:
Рисовать так, чтобы было "красиво". Критерий красоты, имхо, тоже хочет найти, но пока не нашёл. Возможно, хочет выбирать из нескольких критериев по некоторому особому критерию, к-рый тоже ищет.

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

Тем не менее разъяснять нам может не потребоваться ввиду нашего не в теме.
Соколинский Борис
Дата: 05.07.2017 17:55:24
mini.weblab,
Я не просто так с самого начала попросил выложить образец.
Без него вероятность угадывания плохо сформулированных желаний близка к нулю, что и показывает обсуждение.
mayton
Дата: 05.07.2017 22:28:21
Автор задал нам нехилый ребус. Понять что ему надо на выходе - совершенно невозможно
без пояснительной картинки.