|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.02.2019, 15:32 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
ImageMagick 16 цветов из 256
Доброго времени суток!
Нужно с использованием ImageMagick преобразовать bmp 24bpp или 32bpp к 16 из 256 цветов палитры 332 RGB (3 бита RG и 2 бита B). Так как опыта работы с графикой у меня мало, чтение инструкций к ImageMagick положительного результата не дало. Прошу помощи. Как это лучше сделать? Интересует нахождение одного (или пары) "универсального" алгоритма. Или подскажите где искать решение. Что бы тема была относительно разжёвана, для чайников вроде меня. Вот здесь написано много, но это только запутывает, так как не хватает банальных знаний и опыта для понимания, что из этого нужно взять.
С уважением, Алексей.
|
11.02.2019, 17:57 | #2 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Удалось чуточку разобрать. Но результат получается хуже чем в фотошопе, при чем значительно. Кроме того не удалось сохранить в bmp 4 бита.
Есть среди нас опытные люди?
С уважением, Алексей.
|
12.02.2019, 10:11 | #3 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Вопрос закрыт.
Конверсия в 16 цветов из 256 палитры 332RGB происходит так Код:
s12001.bmp - имя исходного файла 332_001.bmp - имя файла для результат colormap_332.png - файл с палитрой. Берется из статьи в первом сообщении. В теории можно и без него (заменить на "-ordered-dither threshold,8,8,4"), но с ним результат значительно лучше. FloydSteinberg - метод для дизеринга. Можно поиграться (всего их три), но этот в большинстве случаев оптимальный. Пробовал применять различные фильтры (описанные в других статьях) но эффекте нет. Скорее всего он убиваться при переходе к 16 цветам. Это и понятно, но я наделся влиять на видимость мелких деталей (меняя светлость и резкость исходного изображения). На выходе BMP 4bpp (в байте два пикселя) с палитрой. Цвета в палитре произвольном порядке, тогда как фотошоп всегда на первое место помещает самый темный (обычно черный), на второе самый светлый (обычно белый). Очень удобно. Интересно можно ли такое настроить в ImageMagick? Осторожнее при чтении заголовка, он там сильно "правильный", по началу моя программа не правильно его читала (от фотошопа ни каких проблем). Результат несколько отличный от фотошопа. Более размытый, часть деталей пропадают, но за-то более плавные линии. Тогда как в фотошопе цветовые переходы более резкие, за счет чего видно больше деталей, но линии получаются более угловатые.
С уважением, Алексей.
Последний раз редактировалось tae1980; 12.02.2019 в 10:21. |
12.02.2019, 10:23 | #4 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Да тут не в опыте дело, а в целесообразности.
Мне вот проще самому написать программу, которая будет из 24bpp или 32bpp делать 4 или 8bpp, чем разбираться с чужой ImageMagick. Тем более по времени это займет минут 10, и размер итоговой программы будет раз в 10 меньше, чем ImageMagick. |
12.02.2019, 10:34 | #5 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Буду благодарен любой помощи.
С уважением, Алексей.
|
|
12.02.2019, 13:04 | #6 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Вот в том то и дело. Стандартная задача решается стандартными методами, и потому, сохранить в bmp 4 бита это написать за 10 минут.
Для решения вашей задачи нужно как минимум подробное её описание, без смены задания "на лету". Согласитесь, что ваша тема "16 цветов из 256" это одно, а вот "два цвета из 16 на каждые 8 точек" это совсем другое. Хотя бы есть пример исходного изображения и того, что должно получиться в результате? |
12.02.2019, 14:29 | #7 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
При этом графика в нем описываться 1 байт = 8 точек + 1 байт атрибут (два цвета). Нужно написать программу переноса графики с IBM PC. Так как я чайник в графике, начал решать задачу по пути наименьшего сопротивления, переводить к 16 цветам в продвинутых программах, а своей только делать перенос в формат Profi (grf). Вот пока такие результаты (к сожалению не нашел в редакторе коды для того, что бы спрятать). Видно наличие горизонтальных линий (линейность), это те 8 точек (1 байт) в которых было 3 и более цвета, и в процессе обработки они слелись в один. Хотелось бы избавиться от этого эффекта. Например, фигурки людей у основания здания при работе с ImageMagick вообще размылись.
С уважением, Алексей.
Последний раз редактировалось tae1980; 12.02.2019 в 17:44. |
|
12.02.2019, 18:00 | #8 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
|
12.02.2019, 18:56 | #9 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Если бы была готовая программа, я бы её взял. Таких нет. Смысл "умничать" и заходить не на "свою территорию"?
А графика нужна для других проектов. Анализ готовых программ в общем показывает, что задача решаема и решена для режима "два цвета на 8х8 точек". Но вот ни где не описания как это достичь. А в статьях про ПС информации о работе только с целой картинкой. Попытка их адаптации и реализации провалилась, результат без слез не взглянешь. Буду пытаться курить дальше. Цитата:
Те что есть имеют целый ряд ограничений, не позволяющих их использовать (в данном случае). Например, все жмут под экран 256х192, а мне нужны файлы любого размера, ни одна программе не сохраняет в формат grf (а их как выяснилось два вида (ATMщики постарались), чего я вообще не ожидал) и прочее (перечислять результат двух недельного анализа имеющегося софта, долго). Я положил глаз на один интересный редактор графики на ПС, но там можно только создать и отредактировать изображение. Хочу использовать его для доводки, но grf он то же не знает. Так что особого выбора нет - нужно решать проблему своими силами.
С уважением, Алексей.
|
|
12.02.2019, 21:14 | #10 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть n цветов разных видов. Составьте все возможные сочетания букетов из всех этих цветов. Количество цветов и их названия вводит | lesha18 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 26.02.2013 16:54 |
ImageMagick. Конвертирование pdf в jpg. | JuniorProger | PHP | 0 | 23.09.2012 01:22 |
ImageMagick и формат DDS | J-Max | PHP | 1 | 26.08.2012 14:01 |
Вопрос по ImageMagick | ALьT | PHP | 0 | 09.11.2011 15:00 |
Помогите с ImageMagick | SENTINEL | Мультимедиа в Delphi | 1 | 01.02.2009 06:55 |