Вход

Просмотр полной версии : Конвертор...подскажите плиз.



Sayman
02.10.2009, 17:50
вобщем вот. ниже привожу результаты работы над палитрой у профи пятёрки. сразу поясняю. на картинках есть куча атрибутных артефактов. это изза ошибок в пц конверторе. а теперь суть проблемы:
задался целью наваять конвертор картиок с пц на профи с применением профинской палитры. палитра 256 цветов. представлена в виде GGGRRRBB.
в качестве формата хранения выбрал родной цпмный файл grf.
только немного поменял заголовок.
значит вот, каких то алгоритмов я незнал. поиск по инету ничего конкретного не дал. но я немгого пообщался с lcd (автор retro-x и bmp2scr exp). кое какие наработки он рассказал. но дело в том, что его прога retro-x менее точна в конвертировании, чем bmp2scr exp. последняя есть в сорцах под purebasic.
как я делал. я брал значение пикселя - 24бит. разложил его на компоненты ргб. потом, взяв только старшие биты каждой компоненты, перевёл в итоге этот пиксель в 8ми битный вид. таким образом вся картинка получалась уже не 24бита, а 8 бит. далее, а составил некоторого рода гистограму. т.е. я пробежался по картинке и выявил самые распространённые цвете. получилось сверху вниз - сверху самый частый, потом менее частый, потом ещё менее частый и т.д. все 256 цветов имеют свою частоту. я брал 16 самых самых из них, снова раскладывал на ргб и применял калькулятор пифагора для ввыявления ближайшей разницы между этими 16ю и всеми остальными цветами. получив уже новые 16 значений, запомнил их. далее я снова пробегаю по картинке, только на этот раз по каждым 8 точкам.
беру первые 8 точек. так же выявляю самые частые из них, тольк на этот раз два самых частых цвета. ну и потом уже сравниваю и создаю атрибуты и точки для экранной области.
как я уже говрил, каких то юлолее мене точных и нормальных алгоритов я незнаю потому не знаю уже где искать в проге косяки. артефакты лечатся но нада править прогу. основные проблемы две - несовсем верно выбирается цвет и несколько неверно создаётся вероятно байт пикселей.
для просмотра на профи наваял мелкую програмку под профидос. на эмулях кстате не работает!
так вот вопрос, может ктото подсказть, помоч в деле конвертирования?

з.ы. за качество сорри - экранка с сотового..

Barmaley_m
03.10.2009, 02:12
По поводу нормальных алгоритмов - рекомендую почитать следующую статью:

http://en.wikipedia.org/wiki/Dither

В частности, Floyd-Steinberg dithering, для черно-белых картинок. Возможно, концепцию можно развить далее в направлении генерации атрибутов.

Sayman
03.10.2009, 06:37
мне бы для начала без дизера...так сказать solid чтобы был пока.

Sayman
05.10.2009, 11:06
ошибку нашол в пц конверторе.
привожу результаты уже нра профи...снова экранки...
чуть позже сделаю возможным запуск профинсокй проги на эмуле.

Дмитрий
05.10.2009, 11:22
Sayman, что-то цвета какие-то не кашерные... или это фотик так испоганил? просто флаг америкосов у тебя зеленый, а должен быть красный, у тебя компоненты Р и Г не перепутаны?

Sayman
05.10.2009, 11:27
или это фотик так испоганил? просто флаг америкосов у тебя зеленый
дадада...тут и фотик кривой (сотовый, что ж теперь поделать) и где то есть ещё ошибка в выборе палитры. но цвета не перепутаны.хотя щас вот сижу исчу эту ошибку...попробую поменять местами компоненты.

Sayman
05.10.2009, 13:03
да, компоненты малость попутал...
вот уже лучше и фотик другой..

Дмитрий
05.10.2009, 13:11
Уже ближе к истине, а то были инопланетяне с лицами, как будто с бодуна :)

Sayman
06.10.2009, 10:52
а вот ещё пример картинки с профи, только не мой пример, а из буржуйской - Retro-X. только почему то она делает картинки 512*480...