导读:
//在用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
}
}
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1863721
本文转自
http://blog.csdn.net/hongjiujing/archive/2007/11/02/1863721.aspx
//在用QT显示摄想头捕获的图象时用到的
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//创建一个QImage对象,用来保存RGB24图象
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
int x, y, r, g, b, i = 0
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
QRgb *point;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
unsigned char *image = get_image(fd, width, height, palette, &size); //从摄像头获取RGB565图象
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
QImage *img = new QImage; //保存转换后的图象
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
if(img->create(width, height, depth, 0, QImage:IngoreEndian)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
...{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
for(y = 0 y < height; y++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
...{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
for(x = 0 x < width; x++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
...{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
r = ((int)img[i+1] & 0xf8) >> 3
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
g = (((int)img[i] & 0xe0) >> 5) | (((int)img[i+1] & 0x07) << 3);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
b = (int)img & 0x1f
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
point = (QRgb *)image->scanLine(y) + x;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
*point = qRgb(r, g, b);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
i += 2
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1863721
本文转自
http://blog.csdn.net/hongjiujing/archive/2007/11/02/1863721.aspx