• 4655阅读
  • 2回复

摄像头图象采集问题(新) [复制链接]

上一主题 下一主题
离线bit_snail
 
只看楼主 倒序阅读 楼主  发表于: 2006-05-12
各位大大好 我正在做摄像头采集图象在QT GUI中显示

现在已经可以已经可以采集了并在DIALOG里显示了 但是不知什么原因 图象出问题了 我设置了480*320 但是只有上半部分有图象 下半部分是黑的 而且上半部分也有问题 是三个图片并列的

请教一下 可能是什么原因 感谢 嘿嘿
离线bit_snail
只看该作者 1楼 发表于: 2006-05-12
源码用的是本论坛上某位大大的
如下
paint=new QPainter(this);
paint->begin(this);

v4l_open("/dev/video0",&device);
unsigned char *data = GrabData();

int x,y;
int i=0;
QImage img;
QRgb *point;
int r,g,b;

if(img.create(480,320,32,0,QImage::IgnoreEndian))
{
for(x=0;x<320;x++)
{
  for(y=0;y<480;y++)
  {
  r=(int)data[i+2];
  g=(int)data[i+1];
  b=(int)data;
  point = (QRgb *) img.scanLine(x)+y;
  *point = qRgb(r,g,b);
  i+=3;
  }
}
}
paint->drawImage(10,10,img);


unsigned char *data = GrabData();是用采集数据的 用MMAP的方式
源码如下
v4l_grab_init(&device,480,320);
v4l_mmap_init(&device);
v4l_grab_frame(&device,frame);
for(i=0;i<2;i++)
{
v4l_grab_sync (&device);
frame=(frame+1)%2;
v4l_grab_frame(&device,frame);
buffer = v4l_get_address(&device);
}
return buffer;
离线ljq206

只看该作者 2楼 发表于: 2006-05-13
是否是数据采集的时候出了问题, 另外不明白你采集的时候for(i=0;i<2;i++),而显示的时候又单帧显示是否不一致呢。。。
我也在作类似的程序,楼主能否交流一下,我的QQ:176485490
快速回复
限100 字节
 
上一个 下一个