在QT中通过摄像头动态显示图片

原创 2007年10月08日 19:17:00

在QT中通过摄像头动态显示图片

Camgui::Camgui(QWidget *parent, const char *name, int wFlags):QWidget(parent, name, wFlags)
...{
    
//之前的代码略
    
//创建一个QTimer的对象进行计时,间隔刷新窗体
    
//在这里使用update()
    
//与repaint比起来,这个SLOT可以避免闪屏
    timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), SLOT(update()));
    timer
->start(30);
}


void Camgui::paintEvent(QPaintEvent *e)
...{
    
int x, y;
    
int i = 0;
    QRgb 
*point;
    
int r, g, b;

    
//创建该PaintEvent的操作对象paint
        //该对象为静态对象,不需要每次paint都创建一个QPainter
    static QPainter paint(this);

    
//该步很重要,设置标志
    
//让QWidget在更新窗体时,不擦除原来的窗体
    
//这样可以避免闪屏
    setWFlags(getWFlags() | Qt::WRepaintNoErase);

    
//从摄像头获取图像信息到img指向的内存空间
    img = get_image(dev, width, height, palette, &size);

    
//读取内存内容,创建QImage对象
    image = new QImage;
    
if(image->create(width, height, 320, QImage::IgnoreEndian))
    
...{
        
for(x = 0; x < height; x++)
        
...{
            
for(y = 0; y < width; y++)
            
...{
                r 
= (int)img[i+2];
                g 
= (int)img[i+1];
                b 
= (int)img[i];
                point 
= (QRgb *)image->scanLine(x)+y;
                
*point = qRgb(r, g, b);
                i 
+= 3;
            }

        }

    }


    
//开始绘图
    paint.begin(this);
    paint.
drawImage(00*image);
    paint.
end();

    
//释放空间
    if(size)
    
...{
        munmap(img, size);
    }

    
else if(img)
    
...{
        free(img);
    }

    delete image;
    image 
= NULL;
}

基于QT和opencv的摄像头(本地图片)读取并输出程序

本程序是基于我的毕业设计进行的开发,这篇博客中的图像处理算法是直接调用opencv自带的函数,原理比较简单,谢绝任何形式的转载。  qt主要是用来做界面设计,opencv主要用来做算法处理。程序开发之...
  • zyx1990412
  • zyx1990412
  • 2016年04月18日 20:44
  • 5576

从海康网络摄像头一张张读取图像且显示到label上

配置环境win10_64,VS2010+Qt5.2.1+Opencv2.4.9+win32 注意部分: 一、这里先引入海康SDK的注意事项中的说明: 【注意事项】 -----------------...
  • Micro_Ryan
  • Micro_Ryan
  • 2016年10月09日 14:04
  • 3041

用qt的label控件显示mjpg-streamer中的视频画面

###在stitip项目中需要用Qt编写一个带界面的实现实时监控的程序,所以准备学习Qt的开发,本文档记录的是是学习Qt过程中的笔记,方便自己复习使用。###   2016.9.2 目标:今天想要实现...
  • Lbb2016
  • Lbb2016
  • 2016年09月19日 10:49
  • 4959

谈一谈分别利用opencv、Qt、matlab动态显示图片的实现

最近遇到一个需要将图片进行动态显示的任务,图片的分辨率是320*2560,最开始的想法就是将图片看成一个320*2560大小的矩阵,然后定义一个320*320大小的小矩阵去遍历大矩阵,然后就用matl...
  • baidu_36669549
  • baidu_36669549
  • 2017年07月30日 15:29
  • 486

Qt实现长图片的放大缩小以及动态显示

这篇文章是在这个基础上进行讨论的谈一谈分别利用opencv、Qt、matlab动态显示图片的实现 其实就是想找一种更加合适的方法进行图片的放大缩小以及动态显示。 这个是效果图 我...
  • baidu_36669549
  • baidu_36669549
  • 2017年12月22日 15:55
  • 182

QT通过qwt实现曲线动态显示

  • 2018年01月08日 12:22
  • 6KB
  • 下载

基于Qt的正弦波动态显示

  • 2015年09月03日 17:08
  • 349B
  • 下载

Qt动态显示

  • 2015年12月11日 17:27
  • 6KB
  • 下载

在ARM9和ARMLinux下利用QT编写的实时数据采集,数据曲线动态显示程序.rar )

  • 2014年06月26日 22:23
  • 13KB
  • 下载

openCV 动态显示和存储图片

  • 2018年01月09日 16:46
  • 18.92MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在QT中通过摄像头动态显示图片
举报原因:
原因补充:

(最多只允许输入30个字)