LINUX.ORG.RU

перевод 8-битного цвета в RGB


0

0

Получаю из веб-камеры 8-битный цвет, есть у кого палитра соответсвия или палитра цветов? а то если по формулам:
r=(i&7)*36;
g=((i&56)>>3)*36;
b=((i&192)>>6)*64;
Получается всё зеленое:) хотя в доке там и напасано rrrgggbb.
Девайся Genius VideoCAM NB


> r=(i&7)*36; 
> g=((i&56)>>3)*36; 
> b=((i&192)>>6)*64;

Возможно у вас i объявлено как int, тогда происходит знаковый сдвиг. Объявите i как unsigned. 

r=(i&7)*36; 
g=(((unsigned)(i&56))>>3)*36; 
b=(((unsigned)(i&192))>>6)*64;

kosmonavt
()
Ответ на: комментарий от kosmonavt

Ну тут еще может быть то, что для r и g в выражении есть умножение на 36, где 36 - не степень 2-х. По идее дожно быть 32, что бы сдвинуть на 5 бит влево.

kosmonavt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.