https://blog.csdn.net/fly_wt/article/details/86432886
RGB转换成灰度图像的一个常用公式是:
Gray = R*0.299 + G*0.587 + B*0.114
//灰度转换函数*******
//第一个参数image输入的彩色RGB图像的引用;
//第二个参数imageGray是转换后输出的灰度图像的引用;
//*******************************************************
#include <opencv2\opencv.hpp>
using namespace cv;
void ConvertRGB2GRAY(const Mat &image, Mat &imageGray);
int main()
{
Mat src = imread("catGuitar.jpg");
Mat grayImage;
ConvertRGB2GRAY(src, grayImage);
imshow("gray image", grayImage);
imwrite("grayimage.jpg", grayImage);
waitKey(0);
return 0;
}
void ConvertRGB2GRAY(const Mat &image, Mat &imageGray)
{
if (!image.data || image.channels() != 3)
{
return;
}
//创建一张单通道的灰度图像