Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RGB 12BIT в RGB 16BIT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
yarunt
Здравствуйте Форумчане!
На днях осилил дисплюй сименс65 , но перед мной стала проблема , нет конвертора картинки в 16 битный цвет. Да и нужно чтоб в бин или в хекс.
Нашел BMP2RGB а он конвертирует в 12 бит. Так у меня вопрос ,как сделать 16 бит из 12 програмно.
Или может видел кто конвертер 16бит в хекс.
Буду очень признателен! help.gif
beer_warrior
1. А зачем упираться в 16 бит? Качество ведь не улучшится.
2. Смотреть описание БМП формата и писать прогу которая будет аппроксимировать картинку.
Работы на пару часов.
yarunt
Цитата(beer_warrior @ Mar 27 2007, 11:23) *
1. А зачем упираться в 16 бит? Качество ведь не улучшится.

Конечно, но я привязан к инициализации ls020 которая без описалова , я даже уверен что он может работать на 12 битах.



А БМП оставлю на последний вариант.
GDI
Можно попробовать дополнять до 16 бит старшими или младшими нулями или комбинацией старших и младших нулей и смотреть, в какой комбинации лучше получится результирующая картинка.

Хотя... если это 16 бит на все 3 цвета, то такое не потянет, тогда надо смотреть как в 16 битном формате кодируются цвета, получается что по 5 бит на цвет и еще один бит будет "лишним" или его в какой то цвет вставляют. И т.о. надо будет каждый цвет дополнить одним нулем старшим или младшим.
yarunt
Цитата(GDI @ Mar 27 2007, 11:55) *
Можно попробовать дополнять до 16 бит старшими или младшими нулями или комбинацией старших и младших нулей и смотреть, в какой комбинации лучше получится результирующая картинка.

Я пробовал сдвигать регистр в лево и получал ,все оттенки серого ,зеленый зеленым,красный синим ,синий красным.Менял старший с младшим,инверсировал.....че только не делал...не получается.
anpilog
Хе-хе....
Грабли-грабли-грабли 8)
Поповоду простого сохранения в RGB16 - PhotoShop это умеет, сам пользовался.
По поводу самостоятельного конвертирования - конвертировать тогда уж лучше из RGB24 ИМХО.
Но тут возникает проблема так как конвертация типа:
#define RGB(r,g,cool.gif (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3))
дает жуткое качество 8(((
Ну ОЧЕНЬ ЖУТКОЕ 8(
Может кто знает "правильный" алгоритм конвертации из RGB24 в RDB16 (5|6|5) ?
yarunt
ОООо...может есть програмка которая конвертирует с файла ***.с в бин.
У меня есть Фонтэдиторбитмапконвертер который конвертирует в 16бит , но в **.с
anpilog
Тогда ещё раз постановку задачи.
Что надо сделать?
Подозреваючтот считывать bmp файлы с SD/MMC карточки и выводить на экран?
Если да - то такую софтинку и самомму можно написать.
Если зашивать bmp во флеш проца - совсем другое дело.
yarunt
Цитата(anpilog @ Mar 27 2007, 13:11) *
Тогда ещё раз постановку задачи.
Что надо сделать?
Подозреваючтот считывать bmp файлы с SD/MMC карточки и выводить на экран?
Если да - то такую софтинку и самомму можно написать.
Если зашивать bmp во флеш проца - совсем другое дело.

Мне нужно организовать менюшку красочную на дисплее. 16 битные знаки и т.д. Возможно качать буду из АТ45ДБ160.
А БМП не катит из за шапки в 1кбит+данные. Тоесть красивый значёк 16*16 пикс не обойдется в 512 байт.
anpilog
Цитата(yarunt @ Mar 27 2007, 11:25) *
Мне нужно организовать менюшку красочную на дисплее. 16 битные знаки и т.д. Возможно качать буду из АТ45ДБ160.
А БМП не катит из за шапки в 1кбит+данные. Тоесть красивый значёк 16*16 пикс не обойдется в 512 байт.

Ну теперь другое дело 8)
Тогда делаешь так:
- Photoshop'м рисуешь все что тебе надо и сохраняешь его
- пишешь простую софтинку которая будет выгребать из файла толькоданные и конвертить в нужный тебе формат.

В аттаче лежит BMP из фотошопа 130х130 в 16 битах (5/6/5)
Нажмите для просмотра прикрепленного файла
АДИКМ
у меня есть готовая утилита. Специально для LS020 писал как-то.
Завтра могу выложить.
Она просто конвертит любую bmp картинку в массив.
Цвета, понятное дело, конвертит в 16 битные.
anpilog
Цитата(АДИКМ @ Mar 27 2007, 13:16) *
у меня есть готовая утилита. Специально для LS020 писал как-то.
Завтра могу выложить.
Она просто конвертит любую bmp картинку в массив.
Цвета, понятное дело, конвертит в 16 битные.

А каким алгоритмом она конвертит, в смысле, преобразование цвета?
Выложи!!!
Очень полезная штука...
Nanobyte
На каком-то форуме, по моему у Супернемца, брал конвертор для S65:

Нажмите для просмотра прикрепленного файла
Подойдёт?
anpilog
Цитата(Nanobyte @ Mar 27 2007, 14:14) *
На каком-то форуме, по моему у Супернемца, брал конвертор для S65:

Нажмите для просмотра прикрепленного файла
Подойдёт?

Огромное спасибо!!!!
yarunt
Цитата(Nanobyte @ Mar 27 2007, 16:14) *
На каком-то форуме, по моему у Супернемца, брал конвертор для S65:

Нажмите для просмотра прикрепленного файла
Подойдёт?

Спасибо,подойдет,но теперь нужен с С в бин или хекс.
anpilog
Цитата(yarunt @ Mar 27 2007, 14:58) *
Спасибо,подойдет,но теперь нужен с С в бин или хекс.

Ну...
Можно просто проинклудить в проект
vooon
Цитата(yarunt @ Mar 27 2007, 16:58) *
Спасибо,подойдет,но теперь нужен с С в бин или хекс.


Вот написал простенький конвертор
yarunt
Цитата(vooon @ Mar 27 2007, 23:03) *
Вот написал простенький конвертор

a14.gif Спасибо большое, свет не без добрых людей! cheers.gif

Цитата(anpilog @ Mar 27 2007, 12:30) *
Хе-хе....
Грабли-грабли-грабли 8)
Поповоду простого сохранения в RGB16 - PhotoShop это умеет, сам пользовался.
По поводу самостоятельного конвертирования - конвертировать тогда уж лучше из RGB24 ИМХО.
Но тут возникает проблема так как конвертация типа:
#define RGB(r,g,cool.gif (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3))
дает жуткое качество 8(((
Ну ОЧЕНЬ ЖУТКОЕ 8(
Может кто знает "правильный" алгоритм конвертации из RGB24 в RDB16 (5|6|5) ?

Попробовал вариант прямо в лоб и картинка получилась нормальная. Переставил только биты из 12 в 16.
АДИКМ
вот такое оно.
yarunt
Цитата(АДИКМ @ Mar 28 2007, 17:52) *
вот такое оно.

a14.gif Ивам спасибо!!! cheers.gif А эта програмка сама , форматирует на 176*132?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.