admin
2023-03-07 8b06b1cbf112d55307ea8a6efe711db4e7506d89
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "OpenCLUtil.h"
 
cv::Mat OpenCLUtil::grayImg(OpenCLExcuter* openCLExcuter, cv::Mat& oimg)
{
    cv::Mat img = cv::Mat::zeros(oimg.rows, oimg.cols, CV_8UC1);
 
    if (oimg.channels() == 1) {
        //ºÚ°×ͼƬ
        img.data = oimg.data;
    }
    else {
        try {
            if (oimg.channels() == 3)
            {
                openCLExcuter->rgb2Gray(oimg, img.data);
            }
            else {
                openCLExcuter->rgba2Gray(oimg, img.data);
            }
            oimg.release();
        }
        catch (...) {
            img.release();
            img = NULL;
            throw string("»Ò¶È³ö´í");
        }
    }
    return img;
}