资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
在QT中通过摄像头动态显示图片Camgui:Camgui(QWidget*parent,constchar*name,intwFlags):QWidget(parent,name,wFlags)曰国之前的代码略I创建一个QTimer的对象进行计时,间隔刷新窗体I在这里使用update。I与repaint比起来,这个SLOT可以避免闪屏Itimer=newQTimer(this);Iconnect(timer,SIGNAL(timeout(),SLOT(update();Itimer-start(30);voidCamgui:paintEvent(QPaintEvent*e)该对象为静态对象,不需要每次paint都创建一个QPainterIstaticQPainterpaint(this);II该步很重要,设置标志I让QWidget在更新窗体时,不擦除原来的窗体I这样可以避免闪屏IsetWFlags(getWFlags()|Qt:WRepaintNoErase);II从摄像头获取图像信息到img指向的内存空间img=get_image(dev,width,height,palette,&size);II读取内存内容,创建QImage对象Iimage=newQImage;Iif(image-create(width,height,32,0,QImage:IgnoreEndian)加1for(x=0;xheight;x+)白由1for(y=0;yscanLine(x)+y;I*point=qRgb(r,g,b);Ii+=3;II开始绘图Ipaint.begin(this);Ipaint.drawImage(O,0,*image);Ipaint.end();II释放空间Iif(size)白由Imunmap(img,size);Ielseif(img)加Ifree(img);Ideleteimage;image=NULL;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号