Subversion Repositories seema-scanner

Rev

Rev 113 | Rev 120 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 113 Rev 114
Line 9... Line 9...
9
    // 8-bits unsigned, raw bayer image
9
    // 8-bits unsigned, raw bayer image
10
    if(mat.type()==CV_8UC1) {
10
    if(mat.type()==CV_8UC1) {
11
        cv::Mat rgb;
11
        cv::Mat rgb;
12
        cv::cvtColor(mat, rgb, CV_BayerBG2RGB);
12
        cv::cvtColor(mat, rgb, CV_BayerBG2RGB);
13
        QImage img((const uchar*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_RGB888);
13
        QImage img((const uchar*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_RGB888);
-
 
14
        img = img.copy();
14
        return img;
15
        return img;
15
    // 8-bit unsigned rgb image
16
    // 8-bit unsigned rgb image
16
    } else if(mat.type()==CV_8UC3) {
17
    } else if(mat.type()==CV_8UC3) {
17
        // Copy input Mat
18
        // Copy input Mat
18
        QImage img((const uchar*)mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
19
        QImage img((const uchar*)mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
Line 26... Line 27...
26
        mat.convertTo(mat, CV_8UC3, 1.0/256.0);
27
        mat.convertTo(mat, CV_8UC3, 1.0/256.0);
27
        return cvMat2qImage(mat);
28
        return cvMat2qImage(mat);
28
    // 32bit floating point gray-scale image
29
    // 32bit floating point gray-scale image
29
    } else if(mat.type()==CV_32FC1) {
30
    } else if(mat.type()==CV_32FC1) {
30
        cv::Mat rgb(mat.size(), CV_32FC3);
31
        cv::Mat rgb(mat.size(), CV_32FC3);
31
        rgb.addref();
-
 
32
        cv::cvtColor(mat, rgb, cv::COLOR_GRAY2RGB);
32
        cv::cvtColor(mat, rgb, cv::COLOR_GRAY2RGB);
33
        // Copy input Mat
-
 
34
        QImage img((const uchar*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_RGB32);
33
        QImage img((const uchar*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_RGB32);
35
        rgb.release();
34
        img = img.copy();
36
        return img;
35
        return img;
37
    } else {
36
    } else {
38
        std::cerr << "SMVideoWidget: cv::Mat could not be converted to QImage!";
37
        std::cerr << "SMVideoWidget: cv::Mat could not be converted to QImage!";
39
        return QImage();
38
        return QImage();
40
    }
39
    }