RGB565 to RGB24

// 在用QT显示摄想头捕获的图象时用到的
// 创建一个QImage对象,用来保存RGB24图象
int  x, y, r, g, b, i  =   0 ;
QRgb 
* point;
unsigned 
char   * image  =  get_image(fd, width, height, palette,  & size);  // 从摄像头获取RGB565图象
QImage  * img  =   new  QImage;  // 保存转换后的图象
if (img -> create(width, height, depth,  0 , QImage:IngoreEndian)
{
        
for(y = 0; y < height; y++)
        
{
                
for(x = 0; x < width; x++)
                
{
                        r 
= ((int)img[i+1& 0xf8>> 3;
                        g 
= (((int)img[i] & 0xe0>> 5| (((int)img[i+1& 0x07<< 3);
                        b 
= (int)img & 0x1f;
                        point 
= (QRgb *)image->scanLine(y) + x;
                        
*point = qRgb(r, g, b);
                        i 
+= 2;
                }

        }

}
 

你可能感兴趣的:(image,qt)