Subversion Repositories seema-scanner

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 jakw 1
#include "CameraTest.h"
2
#include "ui_CameraTest.h"
3
#include "CameraWorker.h"
4
#include <stdio.h>
5
#include <QThread>
6
 
7
CameraTest::CameraTest(QWidget *parent) : QDialog(parent), ui(new Ui::CameraTest){
8
 
9
    ui->setupUi(this);
10
 
11
    std::vector< std::vector<CameraInfo> > cameras;
12
    cameras = Camera::GetInterfaceCameraList();
13
 
14
    cameraThread = new QThread;
15
    cameraWorker = new CameraWorker;
16
 
17
    cameraWorker->moveToThread(cameraThread);
18
    cameraThread->start();
19
 
20
    qRegisterMetaType<cv::Mat>("cv::Mat");
21
    connect(cameraWorker, SIGNAL(newFrame(cv::Mat)), ui->widget, SLOT(showFrameCV(cv::Mat)));
22
 
23
    // Setup camera worker for interface X camera Y
24
    QMetaObject::invokeMethod(cameraWorker, "setup", Q_ARG(unsigned, 0), Q_ARG(unsigned, 0));
25
    // Start capturing
26
    QMetaObject::invokeMethod(cameraWorker, "doWork");
27
 
28
}
29
 
30
void CameraTest::closeEvent(QCloseEvent *){
31
 
32
    disconnect(cameraWorker, SIGNAL(newFrame(cv::Mat)), ui->widget, SLOT(showFrameCV(cv::Mat)));
33
    QApplication::processEvents();
34
 
35
    QMetaObject::invokeMethod(cameraWorker, "stopWorking");
36
    QMetaObject::invokeMethod(cameraWorker, "deleteLater");
37
 
38
    cameraThread->quit();
39
    cameraThread->wait();
40
    cameraThread->deleteLater();
41
 
42
}
43
 
44
CameraTest::~CameraTest(){
45
    delete ui;
46
}