资源简介

本代码是在qt平台下opencv利用多线程调用摄像头进行实时的视频显示在gui界面上,利用的时QThread的方法,是本人用了一年时间在维护的代码,需要的可以前来下载。当然我这也有qt上位机部分的代码,有需要的可以在评论区留言,我后续会上传。

资源截图

代码片段和文件信息

#include “dialog.h“
#include “mythread.h“
#include “ui_dialog.h“
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include taType>
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace cv;
using namespace std;
Dialog::Dialog(QString str QWidget *parent) :
    QDialog(parent)
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    user = str;
//    strScrollCation = QString::fromLocal8Bit(“开发者:千里小马哥  Mobile:15291836200   Email:sust-mazhen@outlook.com“);
//    str_timer = new QTimer(this);
//    connect(str_timerSIGNAL(timeout())thisSLOT(scrollCaption()));
//    str_timer->start(200);
    scene = new QGraphicsScene;
scene_ = new QGraphicsScene;
    Qt::WindowFlags flags = Qt::Dialog;
    flags |= Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint;
    setWindowFlags(flags);
    setWindowIcon(QIcon(“icon.ico“));
    foreach (const QSerialPortInfo &Info QSerialPortInfo::availablePorts())
    {
        qDebug() << “portName    :“  << Info.portName();//调试时可以看的串口信息
        qDebug() << “Description   :“ << Info.description();
        qDebug() << “Manufacturer:“ << Info.manufacturer();
        QSerialPort serial;
        serial.setPort(Info);
        if(serial.open(QIODevice::ReadWrite))//如果串口是可以读写方式打开的
        {
            ui->serialPort->addItem(Info.portName());//在comboBox那添加串口号
            serial.close();
        }
    }
    ui->user_online->setText(user);
    ui->closeSerial->setEnabled(false);
    ui->Send_Rec_data->setEnabled(false);
    ui->clearData->setEnabled(false);
    this->setFixedSize( this->width ()this->height ());
    //this->setstyleSheet(“background-color:yellow“);
    qRegistermetaType(“Mat“);
    ui->date->setstyleSheet(“color:white;background-color:transparent“);
    ui->HourMin->setstyleSheet(“color:white;background-color:transparent“);
    Date_timer = new QTimer(this);
    Date_timer->start();
    connect(Date_timerSIGNAL(timeout())thisSLOT(ClockTimeout()));
}

Dialog::~Dialog()
{
    this->count = 0;
    delete ui;
    delete thread;
    delete scene;
delete scene_;
    delete my_serialPort;
}

//文字滚动
//void Dialog::scrollCaption()
//{
//    static int nPos = 0;
//    if(nPos>strScrollCation.length())
//        nPos = 0;

//    ui->guang_gao->setText(strScrollCation.mid(nPos));
//    nPos++;
//}


void Dialog::ClockTimeout()
{
    QDate date = QDate::currentDate();
    QTime time = QTime::currentTime();
    ui->HourMin->setText(time.toString(“hh:mm:ss“));
    ui->date->setText(date.toString(“yyyy-MM-dd“));
}

QImage Dialog::Mat2QImage(Mat &image)
{
    QImage img;

    if(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       12341  2018-05-08 13:42  dialog.cpp
     文件        1842  2018-05-08 12:46  dialog.h
     文件         433  2018-05-04 07:45  mythread.h
     文件         836  2018-05-04 13:40  mythread.cpp

评论

共有 条评论