[PS CS4-CS6] Pattern для преобразования RGB -> Indexed

  • Автор темы Автор темы _MBK_
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
В общем, я думаю тебе надо самому фильтр писать
 
@_MBK_, дай файлик на поиграться.
 
В общем, я думаю тебе надо самому фильтр писать
То есть, все таки, фотошоп такое не умеет и ни одна программа тоже?
Или все таки когда то умел но почему то убрали паттерн в этом режиме до дефолтного?
 
Я пытаюсь понять, что ты хочешь.
Безымянный-1.png
Безымянныи2.png

Типа так?
 
imho не умел, в гугле ничего похожего не вижу. тема-то востребованная, на майках например печатать картинки. но все пишут про обычный перевод в index mode c diffusion dither

То что ты хочешь сделать - мне в принципе понятно. Но - алгоритм в голову не приходит так сразу.

Попробуй для начала формализовать идею - есть изображение, есть палитра из 3 цветов (для начала). Обрабатываешь по сути попиксельно. Ну ок, раз задал линиатуру - обрабатывай кластер точек, допустим 10x10. Угол для простоты можно пока не трогать.

При этом, на твоей картинке по сути отрастрирован только один цвет. Второй лежит под ним плашкой. Как только начнешь растрировать оба одновременно, чтобы второй не был просто инверсией первого - сразу встанут вопросы.
 
зачем кстати угол задавать, если сепарации все равно не пересекаются? общий угол можно поменять, развернув картинку
 
Да, достаточно близко к теме.
Я так понимаю - это частный случай для четырех цветов
То что ты хочешь сделать - мне в принципе понятно. Но - алгоритм в голову не приходит так сразу.
В том то все и дело
Но ведь сам то фотошоп растрирует правильно, причем паттерном и на произвольное количество цветов
 
то что на картинке делает Filter-Pixelate-Color Halftone, если не ошибаюсь.

>Но ведь сам то фотошоп растрирует правильно, причем паттерном и на произвольное количество цветов

насколько я понимаю фотошоп берет усредненный цвет в кластере (2x2? или размер меняется от количества цветов в палитре?), и забивает его точками, которые в сумме дадут ближайший к усредненному. задача несколько попроще твоей )
 
насколько я понимаю фотошоп берет усредненный цвет в кластере (2x2? или размер меняется от количества цветов в палитре?), и забивает его точками, которые в сумме дадут ближайший к усредненному. задача несколько попроще твоей
Ненене! Не думай об адобовских индусах черезчур плохо! При таком алгоритме детализация картинки будет уменьшаться до размера кластера, а мы этого не наблюдаем в реале - мелкие детали он сохраняет как при обычном регулярном растрировании. То есть, он все таки как то хитро применяет threshold array
 
значит, динамически меняет размер кластера. от 1 пикселя и вверх, пока не получится удовлетворительно заменить цвет
 
Да нет - гляди
upload_2016-3-18_16-10-36.png
 
ну вообще да
а как на большее количество цветов это распространить?
 
Или все таки когда то умел но почему то убрали паттерн в этом режиме до дефолтного?
я тебя сперва неправильно понял.
нет, того, что ты хочешь, я раньше не видел.
 
нет, ты алгоритм распиши )
 
нет, ты алгоритм распиши )
Кабы я знал алгоритм, я б давно реализовал бы вместо того чтобы этот топик создавать '))'
Интуитивно чую что это действительно error diffusion каким то боком прикрученный к treshold array 'otbline'
 
сводится все к выбору двух цветов, которые в смеси дадут близкий к цвету пикселя и выбору этого самого threshold array. дерзай )
 
сводится все к выбору двух цветов, которые в смеси дадут близкий к цвету пикселя
Тоже не то - если бы алгоритм сводился бы к этому, то на равномерном фоне паттерн всегда состоял бы из двух цветов - а там все цвета палитры присутствуют, причем, строго на определенных местах.
Отсюда я и думаю - он как то ошибку на этот самый threshold array раскидывает
 
Статус
Закрыто для дальнейших ответов.