к самой темной палитре которая еще может называться спековской
а точнее это та самая пол литра alone
- - - Добавлено - - -
нет это я использовал неправильный тест
правильный тест (до этого я юзал такое же только не из кодерских цветов скачанное с интернетов)
дает более однозначный результат
обычный режим без учета весов компонент
режим с учетом весов компонент (режим совместимости с BW палитрой)
конечно текучка жуткая...
хотя все таки именно цветопередача интересней в первом варианте
там даже получилось подобие синего из того что было
но светлей чем надо
Последний раз редактировалось NEO SPECTRUMAN; 02.11.2020 в 17:25.
Так и оказалось, в одной буковке ошибся. Поправил. Теперь чб формируются корректно.
а вот такой результат дает ограничение максимума
текучки то нет
но и цветов которые нечем заменить тоже нет
- - - Добавлено - - -
Dec, попробуй сделать ограничение по максимуму отдельным бегунком
и в диапазоне дето 1...20
я поставил ограничение в 2
но цветопередача не улучшилась
возможно текучка возникает когда значение уже сильно превышает единицу
и может можно с ней боротся определенным ограничением уровня сверху
или как то детектить что она началась и что то с этим делать
у меня все из командной строки и перекомпиляцией сорца
и не так гибко чтоб быстро проверить и найти
- - - Добавлено - - -
вот это только 5 кратное превышение уровня
Сделаю, но только завтра. У меня для последней картинки при Error diffusion = 90 цвета не плывут.
Последний раз редактировалось Dec; 02.11.2020 в 17:50.
А на Stucki вообще не требуется корректировать Error diffusion. Но в Stucki уже заложена потеря ошибки.
Imho на такой палитре особо не разгуляешься. Можно еще делать не общее ограничение, а свое ограничение на каждый канал.
ну по началу она же дает нормальный результат
а потом накапливается ошибка и начинается текучка
прикрутил себе смену минимального и максимального уровня по которому обрезается
отдельными аргументами командной стоки
ну и накрутить чего либо не удалось
растекание начинается раньше чем появляется нормальная цветопередача по всей плоскости...
а ограничения нужно ставить типо 32 -32 (0...1 это 0...255)
чтоб получить картинку подобную той
которая без ограничений
- - - Добавлено - - -
почему то драйвер принтера отлично гуляет и на таких палитрах
а тут(у меня) если подсунить CMYK палитру таже гадость
- - - Добавлено - - -
так же я как то для экперемента менял все float-ы на long-и
но результат был по моему таким же
...хотя надо будет попробывать еще раз
- - - Добавлено - - -
ага посмотрел стукки и аткинсон
на палитре CMYK
у тебя дают отличный результат с минимумом текучки (которая все же слегка есть и направлена вниз и вправо)
там видимо не 100 diffusion level
поэтому текучка подавлена
видно по градиенту часть которого кто то отъел...
вот именно изза потери уровней diffusion level отличный от 1 не есть труЪ
- - - Добавлено - - -
у меня при коэфициенте 0.9 тоже ничего не плывет
- - - Добавлено - - -
но если для RGB прокатывает коэффициент 0.96
то для пространства CMYK помогает только коэффициент 0.5...
- - - Добавлено - - -
но если для RGB прокатывает коэффициент 0.96
то для пространства CMYK помогает только коэффициент 0.5...
а это тоже самое прогнанное через YUV
тоже 0.9
но без весовых коэффиентов для каналов
там они походу уже заложены в саму формулу yuv-a
- - - Добавлено - - -
нет не поборол
растекание все равно есть
без BW режима
с BW режимом
с BW режимом в sRGB
- - - Добавлено - - -
вощем CMYK несколько победил
суть такова что чисто по цифрам
CMY самодостаточен и без К (ну или около того)
тоесть
(C=1, M=1, Y=1) = (K=1)
формулу для CMY
скорей всего выглядит так
C = 1.0-R
M = 1.0-G
Y = 1.0-B
и поэтому результаты CMY идентичны результатам RGB
чтоб получить нормальный результат для CMYK-а с формулой где черный полностью отделен
а CMY не используется для получения черного
я задрал вес черного цвета до 200 (когда те канала по 1 чтоб отдавалось большее предпочтение цвету содержащему черный)
и только тогда появился какой то более менее результат (при всех возможных ограничениях диапазона)
без Кх200 и ограничений получается ужасть
- - - Добавлено - - -
да и в общем на палитрах с большим количеством цветов
результат все равно плохой
нужно искать\изобретать формулы для поиска похожего цвета в CMYK-е
или возможно в процессе дизеринга
когда раздается ошибка нужно делать нормализацию
переносить черный получаемый самими CMY в К
- - - Добавлено - - -
или можно заюзать такую избыточную формулы где K дублирует CMY
C = 1.0-R
M = 1.0-G
Y = 1.0-B
K = 1.0-max(R,G,B)
и это дает свой непохожий на RGB результат
- - - Добавлено - - -
можно переводить в пространство для которого формула уже есть
например через тот же RGB
переводить текущий пиксель, выбирать цвет
найдя цвет переводить обратно в нужное цветовое пространство и раскидывать ошибку уже в нем
а разные способы раскидывания ошибки и будут давать разный результат который и нужен
Последний раз редактировалось NEO SPECTRUMAN; 02.11.2020 в 21:46.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)