|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.05.2014, 15:23 | #11 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Спасибо Streletz. Даже беглый взгляд показывает, что описано более подробно, чем в русскоязычном секторе. Переведу, буду дальше разбираться.
Я, этот-же вопрос задал на математическом форуме. Там, такая-же чихорда. Эта тема, висит там уже 3-и сутки и ни одного ответа, а активные темы юмор и события в Украине .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 25.05.2014 в 15:28. |
25.05.2014, 15:28 | #12 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
--------------
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
25.05.2014, 15:36 | #13 | ||
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
to WorldMaster
Цитата:
Только, в отличие от Smitt&Wesson, мне повезло значительно меньше. Вообще никто не ответил. to Smitt&Wesson Пожалуйста. Цитата:
|
||
25.05.2014, 15:58 | #14 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
26.05.2014, 00:08 | #15 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
тема чем-то напомнила мне квантование цвета.
когда полноцветную картику нужно привести к индексированной палитре. самый простой метод тут - median cut (что правда результат по этому методу не самый оптимальный). в комбинации с dither - лучше. |
26.05.2014, 07:02 | #16 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
После того, как я получу "вычищенный" рисунок, его можно будет отредактировать, например в Paint-е.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
26.05.2014, 11:39 | #17 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
не знаю про какой median cut вы читали, результатом работы этого метода будет адаптированная палитра содержащая желаемое кол-во цветов.
идея там довольно простая: есть некоторый цветовой объем (прямоугольный параллелепипед), на каждом шаге выбранный объем делится на два объема. секущая плоскость проходит через цветовой центр масс объема (средний цвет) перпендикулярно одной из цветовых осей. процесс продолжатся до тех пор когда кол-во объемов равно желаемому кол-ву цветов в палитре. цвета палитры определяются цветовыми центрами масс объемов полученных в ходе разбиения исходного цветового объема. в случае простого median cut объем который делится на следующем шаге выбираться из условия максимального размера: объем у которого красная ширина | синяя ширина | зеленая длина наибольшая. ось которой перепендикулярна плоскость сечения - ось наибольшей ширины выбранного объема. в случае оптимизированного median cut объем который делится на следующем шаге выбираться из условия максимальной дисперсии. например: 1. оптимизированный median cut, 4 цвета 2. оптимизированный median cut, 4 цвета, dither 3. оптимизированный median cut, 16 цветов 4. оптимизированный median cut, 16 цветов, dither Последний раз редактировалось f.hump; 26.05.2014 в 11:41. |
26.05.2014, 11:51 | #18 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Это я понял. Но, данный метод хорошо подходит для второго этапа обработки, когда доминирующие цвета уже определены (базовая палитра). Второй этап, это приведение цветов базовой палитры, к цветам, присутствующим в наборе нитей. У акриловых нитей, более 2000 оттенков, так-что проблемы не будет.
Пока, пытаюсь реализовать раделение цветов по кластерам. Мне, вот в этой формуле не совсем понятно (обведено крамным). Если это степень, то при количестве клатеров больше 100, число получается просто невообразимым. Как это понять? Формула взята из этого, переведённого файла:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 26.05.2014 в 12:08. |
26.05.2014, 12:10 | #19 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
по прежнему не совсем пониманимаю ситуацию. задача, на сколько я понял, описать картинку из тысяч и тысяч цветов более скромным кол-вом цветов.
ну, так median cut это и делает. на входе median cut никакие цвета не определены, цвета палитры определены на выходе из него, на вход идет картинка и цифра обозначающая желаемый размер палитры. |
26.05.2014, 12:27 | #20 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
1. Беру картинку и подсчитываю в STL map статистику по каждому входящему в картинку уникальному цвету. На данной картинке их 12766. 2. Берём все уникальные цвета и разбиваем их на кластеры. 3. Выбираем из каждого кластера цвет у которого коэффициет вхождений наибольший. Это и составит нашу базовую палитру. 4. Приводим все промежуточные цвета к базовой палитре. На втором этапе, если базовых цветов слишком много, проводим приведение цветов к более ограниченной палитре, по Вашему методу, но с цветами, выбранными вручную из базовой. Вот, как-то так.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 26.05.2014 в 12:31. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кластеризация картинки.. | goto ∞ | Помощь студентам | 7 | 15.04.2013 21:03 |
Кластеризация | Nelli22 | Visual C++ | 0 | 23.11.2011 13:11 |