Subversion Repositories seema-scanner

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 jakw 1
#include "CameraWorker.h"
2
#include <QApplication>
3
#include <QtTest/QTest>
4
 
5
void CameraWorker::setup(unsigned iNum, unsigned cNum){
6
 
7
    // Initialize camera
8
    camera = Camera::NewCamera(iNum, cNum);
9
}
10
 
11
void CameraWorker::doWork(){
12
 
13
    CameraFrame frame;
14
    unsigned int frameWidth, frameHeight;
15
    camera->getFrameWidthHeight(&frameWidth, &frameHeight);
16
 
17
    std::cout << "CameraWorker: opened camera " << frameWidth << " x " << frameHeight << std::endl << std::flush;
18
 
19
 
20
    //camera->startCapture();
21
 
22
    _isWorking = true;
23
    int i = 0;
24
    while(_isWorking){
25
 
26
        frame = camera->getSingleFrame();
27
        //frame = camera->lockFrame();
28
        cv::Mat frameCV(frame.height, frame.width, CV_8U, frame.memory);
29
        frameCV = frameCV.clone();
30
 
31
        // Emit new frame
32
        emit newFrame(frameCV);
33
        //std::cout << "frame" << i << std::endl << std::flush;
34
 
35
        i+=1;
36
        QApplication::processEvents();
37
        camera->unlockFrame();
38
 
39
   }
40
 
41
   //camera->stopCapture();
42
 
43
    // Emit finished signal
44
    emit finished();
45
}
46
 
47
CameraWorker::~CameraWorker(){
48
    delete camera;
49
 
50
}