#include "mainwindow.h" #include "./ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); cap = new VideoCapture(); onCap = false; vt = new QTimer(this); // vt->start(20); QObject::connect(vt,SIGNAL(timeout()),this,SLOT(showImage())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { if(onCap){ vt->stop(); onCap = false; } else{ bool isnum; int z = ui->lineEdit->text().toUInt(&isnum); if(isnum){ cap->open(z); } else{ cap->open(ui->lineEdit->text().toStdString()); } vt->start(20); onCap = true; } } void MainWindow::showImage(){ if(NULL!=cap){ if(cap->read(image)){ // image = // cv::edgePreservingFilter(image,image); cv::cvtColor(image,image,cv::COLOR_RGB2BGR); ui->label->setPixmap(QPixmap::fromImage(QImage(image.data,image.cols,image.rows,QImage::Format_RGB888))); } } } void MainWindow::on_pushButton_2_clicked() { QFile f("img.bin"); f.open(QIODevice::ReadWrite); QDataStream streamout(&f); streamout.writeBytes((char*)image.data,image.rows*image.cols*3); f.close(); }