图像的采集的函数和v4l2 api中给出的capture.c的内容一样。
摄像头是极速的T61,设备属性如下:
camara driver: uvcvideo
camara card: Gsou USB2.0 Camera
camara bus info: usb-0000:02:03.0-1
camara version: 256
支持的Video格式为:
Support format:
1.YUV 4:2:2 (YUYV)
显示代码为:
QPixmap *pixmap=new QPixmap(WIDTH,HEIGHT);
//get data
mainloop();
QImage image;
int len = buffers[0].length;
QImage img((uchar *)buffers[0].start, WIDTH, HEIGHT, 16,0,0,QImage::IgnoreEndian);
pixmap->convertFromImage(img);
lblImage->setPixmap(*pixmap);
采集到的图像显示到QLabel时,图像在水平方向上发生了压缩,并同时并列显示了两次。显示结果如附件图片所示。
/////////////////////////////////////////////
如果用img.loadFromData((uchar*) buffers[0].start,WIDT,HEIGHT);来加载数据的话,得到的是一张全黑的照片。
弄了好多天了,一时还找不到问题出在哪里?请各位帮帮我!
谢谢!
[ 此帖被独孤求学在2011-03-22 20:29重新编辑 ]