Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: NDither - типо правильный конвертер изображений в 256с\16с

  1. #1
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию NDither - типо правильный конвертер изображений в 256с\16с

    Так как большое количество имеющихся на данный момент конвертеров написаны без учета матчасти вообще
    и дают отвратительнейший результат для фиксированных палитр...
    https://zx-pk.ru/threads/32267-ishch...-palitroj.html

    как всегда приходиться все делать самому...

    NDither r0030 (21.10.2020)
    http://www.mediafire.com/file/au9ll5..._r0030.7z/file

    NDither есть типо command line dither tool для ретроплатформ который учитывает нелинейность sRGB (а не тупо считает что sRGB линейный как все остальные)
    и в котором с увеличением количества цветов в палитре качество изображения только увеличивается а не наоборот (как это проихсодит в мерзком фотошопе )

    палитра только фиксированная (подсовываемая уже готовая) - адаптивные палитры делает прекрасно и фотошоп
    есть дубовый выбор одной из фиксированных палитр (набор палитр подсовывается в виде изображения (команда зовется -fpa))


    копипаста встроенной в .exe-шник инструкции
    Код:
    how to make PROFIT or RTFM!
    
    NDither.exe "C:\image.bmp"
    NDither.exe -c srgb -w round -d 0.97 image.png
    NDither.exe img1.png img2.jpg -w x "C:\img3.bmp" - batch processing
    or drag n drop all files on NDither.exe
    
    color space
    -c rgb_linear (default)
    -c srgb - non linear color space, produce photoshop like gamma error
    
    dithering window type
    -w floyd (default)
    -w round
    -w x
    -w linear_x
    -w linear_y
    -w linear_x_y
    -w dot - no dither -d 0 like
    
    diffusion level
    -d 0...0.5...1 (1 default)
    
    serpentine scaning
    -s off (default)
    -s on
    
    quantisation weighting coefficients
    -q 111 - 1G : 1R : 1B (default)
    -q 421 - 4G : 2R : 1B for BW images, may "error flow"
    -q 721 - 0.7152G : 0.2126R : 0.0722B from imageworsener, may "error flow"
    -q 631 - 0.587G : 0.299R : 0.114B may "error flow"
    
    quantisation error finding algorithm
    -e pow222 (default)
    -e pow421
    -e pow532
    -e sum111
    -e sum421 (incorrect results)
    
    limits
    -lmx off - max unlimited (default)
    -lmx on - max limit 1 (reduce "error flow")
    
    level compress (post gamma correction)
    -lc off - max level = 255 (default)
    -lc 85 - max level = 85 (for white less RGB pal)
    -lc 128 - max level 128 (for white less B+Y || R+C || M+G pal)
    -lc 170 - max level 170 (for white less CMY pal)
    
    custom palette
    -p pal.act (palette.act default)
    -p "C:\cga.act"
    
    fixed palette array (bad results)
    -fpa off (default)
    -fpa fpa_palette.png
    -fpa "C:\fpa_palette.bmp"


    примеры конвертации в 16c



    оригиналы



    NDither (тк алгоритм масштабирования в браузере скорей всего тоже не учитывает нелинейность sRGB при масштабировании изображение сильно потемнеет)




    Photoshop (как раз хорошо видно когда за свои сотнибаксов он полностью SUXX)




    известная проблема конвертера растекание ошибки
    и выглядит вот так омерзительно
    и возникает при малом количестве цветов в палитре

    предположительно оно есть резонансным явлением и как сие явление побороть остается не ясным

    можно попытаться минимизировать последствия уменьшив коэфициент распределения ошибки
    -d 0.96


    еще немного улучшает картинку сканирование змейкой -s on

    можно избавится и практически полностью -lmx on
    но ценой сильной потери цветопередачи...



    для правильной конвертации в 2-х цветное чернобелое изображение
    нужен параметр -q 421 (на цветном изображении вызывает "error flow")




    просто оставлю тут
    картинкотест правильности работы масштабировалки




    Последний раз редактировалось NEO SPECTRUMAN; 24.10.2020 в 19:47.

  2. Эти 5 пользователя(ей) поблагодарили NEO SPECTRUMAN за это полезное сообщение:

    Lethargeek (18.10.2020), MaratBest (22.10.2020), SlashNet (16.10.2020), svofski (16.10.2020), tae1980 (16.10.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,038
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть два вопроса:
    1. как в твоей программе можно указать кол-во цветов для конверсии (например, с адаптивной палитрой)?
    2. мне просто интересно, как ты такие картинки на спектруме будешь "гонять"? в 3color (с жутким мерцанием который)?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...

  5. #3
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    1. как в твоей программе можно указать кол-во цветов для конверсии (например, с адаптивной палитрой)?
    никак
    только выбор фиксированной палитры через -p
    для адаптивных палитр юзай фотошоп

    Цитата Сообщение от Sayman Посмотреть сообщение
    2. мне просто интересно, как ты такие картинки на спектруме будешь "гонять"? в 3color (с жутким мерцанием который)?
    спектрумы бывают разные
    наиболее оно актуально для 16с пентагона
    с таким же успехом можно применить к цветным чанкам
    и к чему угодно еще

    и не обязательно для спектрума
    можно применять например для сраного львов пк 01 и любой другой платформы с точкой на пиксель

    - - - Добавлено - - -

    например можно юзать оно для меркого CGA




    Цитата Сообщение от Sayman Посмотреть сообщение
    в 3color (с жутким мерцанием который)?
    а количество мерацания зависит от кривизны рук пилятеля триколора
    и можно получить вполне приемлемые результаты
    Последний раз редактировалось NEO SPECTRUMAN; 16.10.2020 в 12:08.

  6. #4
    Activist Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    358
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    спектрумы бывают разные
    наиболее оно актуально для 16с пентагона
    Так же полезно будет для Профи без палитры 256 цветов и Скорпов с GMX.

  7. #5
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    Так же полезно будет для Профи без палитры 256 цветов и Скорпов с GMX.
    картинки для РК я тоже конвертил через 256 цветов фотошопом...



    так что может быть 100500 вариантов применения...

    так понимаю если найти эти "палитры" хотя толку от них когда они не учитывают нелинейность...
    то результат теперь можно получить на порядок лучше
    Последний раз редактировалось NEO SPECTRUMAN; 17.10.2020 в 01:27.

  8. #6
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ОбновлениЁ

    NDither r0027
    http://www.mediafire.com/file/c8zhgf..._r0027.7z/file

    попытался сделать выбор одной из нескольких фиксированных палитр (команда -fpa)
    как это например в львов пк-01, бк0011м
    НО выбор палитры получился достаточно плохим

    перебирая варианты алгоритма
    получается или мало разнообразия и сплошные палитры RGB \ BW
    или чуть большее разнообразие и совершенно неподходящие результаты иногда (как оставлено)

    иногда палитры ВНЕЗАПНО подбираются достаточно хорошо

    набор палитр подсовывать в виде картинки
    например такой

    где каждая палитра своей строкой (сколько можно запихнуть так палитр науке неизвестно (штук 700 должны гарантированно работать))
    в ширину пока максимум 256

    дублирование цветов внутри одной палитры сильно ухудшает результат
    и лучше такие палитры затереть

    запускать режим так
    NDither.exe -fpa палитра.PNG картинко.png

    выключать
    -fpa off

    палитра подбирается под уже скорректированный уровень
    так что перебирая -lc 170 \ 128 \ 85 можно получать разные палитры и разный результат


    пример некоторых автоматически выбранных поллитр (что из оно под пол литры львова что под пол литры бека в процессе забылось)






    так же в комплекте NDither -fpa test.bat
    который сгенерирует бОльшую жменю примеров


    ...ну и конечно растекание ошибки на 4-х цветных палитрах жуткое...


    ...
    для более качественного результата
    можно было бы конвертировать картинку столько раз сколько палитр всего
    и выбирать наиболее подходящую по сумме ошибок
    но время конвертации одной картинки достаточно длительное
    и прогоняние 128 палитр придется ждать минут 5...
    даже не знаю нужно ли оно в таком виде...
    ...хотя ham конвертер вполне конвертит картинки по 5 минут на некоторых настройках и ниче....


    - - - Добавлено - - -

    3Ы: кстате БК-шники
    кроме сколько у них вариантов видеовыхода
    не могут определится и какая у них там поллитра
    на реале у них 100500 цветов
    в эмуляторе 8...
    Последний раз редактировалось NEO SPECTRUMAN; 17.10.2020 в 18:23.

  9. Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    tae1980 (17.10.2020)

  10. #7
    Activist Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    358
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У тебя на выходе можно получить bmp 4/8 бит?

  11. #8
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    У тебя на выходе можно получить bmp 4/8 бит?
    нет
    без понятия как cimg \ graphickmagick-у передать палитру (в доке на cimg пол литры не упомниаютсо)
    нужно искать какуйто готовую либу
    или писать самому

    думаю без особых проблем можно выплюнутть raw

    - - - Добавлено - - -

    Цитата Сообщение от tae1980 Посмотреть сообщение
    У тебя на выходе можно получить bmp 4/8 бит?
    а так у меня задумано переваривать поллитры больше 256 цветов
    Последний раз редактировалось NEO SPECTRUMAN; 17.10.2020 в 21:08.

  12. #9
    Activist Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    358
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    или писать самому
    Если есть пиксельный массив, то собрать bmp не проблема. Как образец могу дать свои подпрограммы.
    Попробовал перевести в bmp через фотошоп, при конверсии к 16 цветам, он начал менять цвета. Возможно тут нужно подобрать точную палитру.

  13. #10
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    4,877
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    345
    Поблагодарили
    276 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    8 бит?
    как такой вариант?

    NDither r0030
    http://www.mediafire.com/file/au9ll5..._r0030.7z/file

  14. Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    MaratBest (22.10.2020)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 16
    Последнее: 03.09.2020, 13:57
  2. Конвертер изображений из PC в ZX-Spectrum
    от Northwood в разделе Утилиты
    Ответов: 18
    Последнее: 16.02.2020, 11:13
  3. Правильный конвертер ИРПС ДВК - RS232
    от MM в разделе ДВК, УКНЦ
    Ответов: 3
    Последнее: 10.09.2019, 01:47
  4. Ленинград не правильный матрас
    от Andreyanov в разделе Ленинград
    Ответов: 6
    Последнее: 29.07.2017, 10:27
  5. О спрайтах на 16с
    от Soplik в разделе Программирование
    Ответов: 9
    Последнее: 25.09.2011, 23:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •