|
Подгонка 5/6/5 RGB под 18 бит (6/6/6) RGB |
|
|
|
Feb 21 2008, 06:42
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(DmitryR @ Feb 21 2008, 10:09)  Я бы предварительно посмотрел, как кодируется серый цвет в одном и другом формате, так как именно окраска серых тонов является самым заметным артефактом неправильного преобразования цвета. Да, спасибо, хорошая идея. Значит нужно проверить color map конкретного дисплея насчет его кодировки по серому относительно полного комплекта RGB, и затем сопоставить это с кодировкой серой шкалы входного формата, так ? Ежели подогнать серые оттенки, гарантирует ли это правильность цветов ? А в принципе, может есть смысл рассмотреть перекодировку R, B в 6 бит по нелинейной шкале (обратное S) ?
|
|
|
|
|
Feb 21 2008, 07:37
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(torik @ Feb 21 2008, 11:06)  Если на входе RGB 565, а не цветоразностный, то наверное нет смысла перекодировать что-либо, просто *2 (сдвиг или прямо назначить на нужные выводы дисплея...). Кроме того, оттенки серого 6 бит и так выглядят неочень... А какой дисплей? Спасибо. Да, дейсвительно, на входе RGB 565, пока закодировал в 666 просто сдвигом влево R и B, либо думаю просто добавлю нули (или '1', пока не уверен) а коде конвертируя в 18 бит. Выходной дисплей: Kyocera TCG057QV1AC. Это 5.7" TFT со встроенным контроллером, принимает 18 бит RGB вход. В приципе основная информация идет ч/б, т.е. оттенки серого важны (хотя не требуется у них супер резолюция), но вход пред-определен как 565. Цвет нужен только для всяких overlayев (менюшки и т.д.), т.е. там очень высокая точность не сильно важна.
|
|
|
|
|
Feb 21 2008, 09:12
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(rv3dll(lex) @ Feb 21 2008, 12:17)  выкинуть нафиг младший бит в шестёрке и задействовать его под альфа канал Не понял ? Зачем альфа канал ? В приципе про таковой знаю только по наслышеке, никогда с ним не приходилось работать еще. А вообще оно релевантно мне ? Цитата(aaarrr @ Feb 21 2008, 12:19)  Не надо '1' - чистого черного цвета не будет, хотя 1ЕМР вряд ли будет сильно заметна. Спасибо. А что такое 1EMP ?
|
|
|
|
|
Feb 21 2008, 11:54
|

Гуру
     
Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359

|
И как результаты, получается? Я как раз только-что вывел ч/б картинку на LCD панель, чтобы проверить выше сказанное. И получил какую-то непонятную проблему  : - итак, вход 565 - на дисплей 666 R и B сдвигаем на 1 влево (просто назначением пинов) - пока отсутствует старший разряд (закрываем, к примеру диафрагму, темная картинка) - все впорядке. А как только появляется старший разряд - начинаются какие-то мелькания... Может и не так все просто...
--------------------
Быть. torizin-liteha@yandex.ru
|
|
|
|
|
Feb 21 2008, 12:34
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(torik @ Feb 21 2008, 15:54)  И как результаты, получается? Я как раз только-что вывел ч/б картинку на LCD панель, чтобы проверить выше сказанное. И получил какую-то непонятную проблему  : - итак, вход 565 - на дисплей 666 R и B сдвигаем на 1 влево (просто назначением пинов) - пока отсутствует старший разряд (закрываем, к примеру диафрагму, темная картинка) - все впорядке. А как только появляется старший разряд - начинаются какие-то мелькания... Может и не так все просто... На данном этапе отображаем на OLED дисплее (похожее на то что обычно идет в видоискателях цифровых камер, там где электронные видоискатели, не оптические), картинка в видоискателе нормальная, т.е. нашим требованиям удовлетворяет. Там OLED имеет сериальный вход 8 бит (т.е. R -> G -> B, бит на каждый), но мы подаем 5/6/5 так что данные сдвинуты на MSB. Кроме того идет выход видео на TV монитор, но там composite ессно, и я не уверен а каком формате там были данные в оригинале (до конвертации в composite) ибо это делается не нами и внутри системы в которую у нас доступа нет. В вашем случае получается что кода старший разряд на входе обнулен (в 565 - темная картинка) а мы сдвигаем нулем влево - мы по идее все-равно должны получить примерно схожий уровен в выходном формате (0х01111 в 5-битном формате должен примерно соответствовать 0х011110). Небольшие искажения можно ожидать, но по идее ничего драмматического... Нужно подумать что происходит в вашем случае...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|