к чему? потому что не к реальному фирменному спеку уж точно
- - - Добавлено - - -
особая - ниже :D
Вид для печати
к самой темной палитре которая еще может называться спековской
а точнее это та самая пол литра alone
- - - Добавлено - - -
нет это я использовал неправильный тест
правильный тест (до этого я юзал такое же только не из кодерских цветов скачанное с интернетов)
https://jpegshare.net/images/c5/7c/c...7cbcab7f05.png
дает более однозначный результат
обычный режим без учета весов компонент
https://jpegshare.net/images/5e/52/5...f7e50e4bd6.png
режим с учетом весов компонент (режим совместимости с BW палитрой)
https://jpegshare.net/images/35/a7/3...9f399d77ab.png
конечно текучка жуткая...
хотя все таки именно цветопередача интересней в первом варианте
там даже получилось подобие синего из того что было
но светлей чем надо
Так и оказалось, в одной буковке ошибся. Поправил. Теперь чб формируются корректно.
а вот такой результат дает ограничение максимума
https://jpegshare.net/images/54/9c/5...732e507ed8.png
https://jpegshare.net/images/04/9a/0...0c06708f82.png
текучки то нет
но и цветов которые нечем заменить тоже нет
- - - Добавлено - - -
Dec, попробуй сделать ограничение по максимуму отдельным бегунком
и в диапазоне дето 1...20
я поставил ограничение в 2
но цветопередача не улучшилась
возможно текучка возникает когда значение уже сильно превышает единицу
и может можно с ней боротся определенным ограничением уровня сверху
или как то детектить что она началась и что то с этим делать
у меня все из командной строки и перекомпиляцией сорца
и не так гибко чтоб быстро проверить и найти
- - - Добавлено - - -
вот это только 5 кратное превышение уровня
https://jpegshare.net/images/10/14/1...57a2c3b54f.png
Сделаю, но только завтра. У меня для последней картинки при Error diffusion = 90 цвета не плывут.
https://jpegshare.net/images/da/c4/d...2d576d6133.png
ппц чо там за цифру гуляют
ограничение по 20 кратному превышению уровня
https://jpegshare.net/images/9d/ef/9...8c5e5ff4fe.png
- - - Добавлено - - -
до это спасает
но это не truЪ
А на Stucki вообще не требуется корректировать Error diffusion. Но в Stucki уже заложена потеря ошибки.
Imho на такой палитре особо не разгуляешься. Можно еще делать не общее ограничение, а свое ограничение на каждый канал.
ну по началу она же дает нормальный результат
https://jpegshare.net/images/57/16/5...9208941088.png
а потом накапливается ошибка и начинается текучка
прикрутил себе смену минимального и максимального уровня по которому обрезается
отдельными аргументами командной стоки
ну и накрутить чего либо не удалось
растекание начинается раньше чем появляется нормальная цветопередача по всей плоскости...
а ограничения нужно ставить типо 32 -32 (0...1 это 0...255)
чтоб получить картинку подобную той
которая без ограничений
- - - Добавлено - - -
почему то драйвер принтера отлично гуляет и на таких палитрах
а тут(у меня) если подсунить CMYK палитру таже гадость
https://jpegshare.net/images/13/44/1...9fdb92b79c.png
https://jpegshare.net/images/04/06/0...43ca9b2254.png
- - - Добавлено - - -
так же я как то для экперемента менял все float-ы на long-и
но результат был по моему таким же
...хотя надо будет попробывать еще раз
- - - Добавлено - - -
ага посмотрел стукки и аткинсон
на палитре CMYK
у тебя дают отличный результат с минимумом текучки (которая все же слегка есть и направлена вниз и вправо)
https://jpegshare.net/images/6d/9a/6...7323fc7092.png
там видимо не 100 diffusion level
поэтому текучка подавлена
видно по градиенту часть которого кто то отъел...
вот именно изза потери уровней diffusion level отличный от 1 не есть труЪ
- - - Добавлено - - -
у меня при коэфициенте 0.9 тоже ничего не плывет
https://jpegshare.net/images/c8/27/c...418aa777bc.png
- - - Добавлено - - -
но если для RGB прокатывает коэффициент 0.96
то для пространства CMYK помогает только коэффициент 0.5...
- - - Добавлено - - -
но если для RGB прокатывает коэффициент 0.96
то для пространства CMYK помогает только коэффициент 0.5...
а это тоже самое прогнанное через YUV
https://jpegshare.net/images/8f/ac/8...f177d38e47.png
тоже 0.9
но без весовых коэффиентов для каналов
там они походу уже заложены в саму формулу yuv-a
- - - Добавлено - - -
нет не поборол
растекание все равно есть
без BW режима
https://jpegshare.net/images/a3/f1/a...da945e6f72.png
с BW режимом
https://jpegshare.net/images/d4/03/d...c8ea788125.png
с BW режимом в sRGB
https://jpegshare.net/images/e9/63/e...1cb36c79a6.png
- - - Добавлено - - -
вощем CMYK несколько победил
суть такова что чисто по цифрам
CMY самодостаточен и без К (ну или около того)
https://upload.wikimedia.org/wikiped...3_no_black.jpghttps://upload.wikimedia.org/wikiped...imum_black.jpg
тоесть
(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 чтоб отдавалось большее предпочтение цвету содержащему черный)
и только тогда появился какой то более менее результат (при всех возможных ограничениях диапазона)
https://jpegshare.net/images/8e/b6/8...022056b31e.pnghttps://jpegshare.net/images/32/76/3...8a975c7746.pnghttps://jpegshare.net/images/bd/cb/b...39f71e03b4.png
https://jpegshare.net/images/68/87/6...762c367038.pnghttps://jpegshare.net/images/37/e0/3...20d3d4b9dc.png
без Кх200 и ограничений получается ужасть
https://jpegshare.net/images/e8/31/e...8fd0b8a8de.pnghttps://jpegshare.net/images/f7/8a/f...3c290a6b8f.pnghttps://jpegshare.net/images/82/e5/8...ada5f84259.png
- - - Добавлено - - -
да и в общем на палитрах с большим количеством цветов
результат все равно плохой
нужно искать\изобретать формулы для поиска похожего цвета в CMYK-е
или возможно в процессе дизеринга
когда раздается ошибка нужно делать нормализацию
переносить черный получаемый самими CMY в К
- - - Добавлено - - -
или можно заюзать такую избыточную формулы где K дублирует CMY
C = 1.0-R
M = 1.0-G
Y = 1.0-B
K = 1.0-max(R,G,B)
и это дает свой непохожий на RGB результат
https://jpegshare.net/images/7d/96/7...056a5ded93.png
- - - Добавлено - - -
можно переводить в пространство для которого формула уже есть
например через тот же RGB
переводить текущий пиксель, выбирать цвет
найдя цвет переводить обратно в нужное цветовое пространство и раскидывать ошибку уже в нем
а разные способы раскидывания ошибки и будут давать разный результат который и нужен