Немного о RGB или я не понял что происходит=)

Свершилось, товарищи! Пару дней назад запустил жки от семена (lph8739). Баловался, проверял, эксперементировал и пришел к lite проекту воспроизведения видео на lpc1114. Все бы хорошо, но после пары моментов я почувствовол себя пардо тормозом дальтоником. Задача: есть картинка в формате RGB24(8:8:8). Преобразовать точку из RGB24(8:8:8) в RGB8(3:3:2). Вот здесь затык: картнка получается говно. Преобразование вроде стандартное:
3 старших бита от красного, 3 старших от зеленого и 2 от синего. Все в кучу, но яркость картинки и цветопередача отстой редкосный. Фотки пока привести не могу, снимать нечем. Мот кто посоветует адекватный алгоритм перевода RGB24 в RGB8. Может есть какой вариант апроксимации конечных значений цветовых компонентов при преобразовании. Короче обдайте уставший моСК свежей информацией. Жду советов и коментариев.

вот примерно что получилось. первое видео ргб8, второе ргб12

  • 0
  • 27 сентября 2011, 22:32
  • lleeloo

Комментарии (22)

RSS свернуть / развернуть
При недостатке количества цветов делают как-бы сеточку из чередующихся пикселей (вот пример — img138.imageshack.us/img138/5936/setupke3.png всего 2 цвета). За счёт этого можно получить промежуточные цвета, если разрешение высокое.
0
  • avatar
  • m0xf
  • 27 сентября 2011, 23:04
разрешение 101х80=( Как эта как бы сеточка делается есть мылси? А вообще хотелось бы по сабж
0
Погугли dithering.
А вообще сомневаюсь что в RGB8 можно получить хорошую картинку. Не зря же 8-битный цвет на ПК всегда палитровый, даже OpenGL в палитровом режиме рендерит, если установлен 8-битный цвет.
0
  • avatar
  • Vga
  • 27 сентября 2011, 23:19
Блин, это чего, переходить на RGB16(5:6:5)? А так не хотелось=((
0
Для получения хорошей картинки это единственный вариант.
0
Смотря чего ты хочешь. Видео с картинками показывать — да, без выбора (точнее, есть еще варианты 18 и 24 бит). А для интерфейса можно и RGB8 или палитровый режим (если поддерживается контроллером).
0
  • avatar
  • Vga
  • 27 сентября 2011, 23:50
Вывод видео. Палитра не поддерживается. Жаль того, что теперь вместо 1го байта на пиксел придется передавать 2=( Блин, неужели нет способа адекватно сконввертить в РГБ8. Жизнь прошла зря=)
0
Видео в RGB8, хехе… Эт ты загнул.
0
  • avatar
  • Vga
  • 28 сентября 2011, 00:45
8 бит — это новмальное черно-белое видео.
Если хочешь увидеть, что будет при 8 битах — переключи монитор своего компьютера в режим VGA (не член сообщества) — 480 х 640 х 8 бит.
Только там перекодировка не методом отбрасывания младших бит, а с учетом палитры.
Лучше почитай что-нибудь о компьютерной графике.
0
  • avatar
  • mzw
  • 28 сентября 2011, 11:05
Спасибо, попробую ч/б. В РГБ12 видео смотрится куда более приятно. На текущий момент интересуюсь вопросом синхронизации видео и звука…
0
Дык тут про RGB в 8 бит разговор-то. ЧБ 256 градаций хватает, да.
Ну и комп в RGB 8 бит работать не умеет — в палитровом режиме глубина цвета больше, элементы палитры обычно 16-24 битные.
Чтобы посмотреть что получится — можно взять любую 24-битную картинку и обрезать младшие биты маской 0xE0E0C0.
Хотя dithering'ом можно это дело несколько скрасить. Некоторые вон и на экран PV (тормозной ЖК 160x160 1bit) видео выводили.
0
  • avatar
  • Vga
  • 28 сентября 2011, 18:54
добился неплохой цветопередачи в ргб12, но и ргв8 вроде тож нничего, только яркость слабовата=(
0
Очень странная тема :)
0
а что можно от 2 битного красного ожидать?
0-35-70-100 % интенсивности цвета по красному каналу!
какая может быть картинка? это синклер… денди… не лучше

для картинки надо не менее 16-24 бита
0
2 бита сениго=) Да я согласен, спору нет. Я просто где-то читал о возможной апросимации такой конверсии. Попробую работать в ч/б, хотя уже настрощался с РГБ12. Довольно прикольно выходит!
0
А не подскажешь, как с этим дисплеем работать? схему там, пример программы?
У самого валяется типа такого, хочется его попробовать.
0
  • avatar
  • Bonio
  • 28 сентября 2011, 16:51
Дрпилю устройство и выложу статейку. Пока прикручиваю звук к видео=) Если будет чем снять свою поделку, добавлю в пост!
0
Ок, ждем, очень интересно посмотреть.
0
Вроде того
0
как обещал — видео. кочечтво сьемки — говно
0
Спасибо, а пример программы можете показать.
Как дисплей инициализируется, как данные на него выводятся?
0
Гораздо интереснее как декодируется видео. :)
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.