Subversion Repositories seema-scanner

Rev

Rev 1 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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