先上代码:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cv.h>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat image = imread("cat.jpg"); //读图
if (! image.data)
{
cout << "Could not open or find the image." << endl;
return -1;
}
Mat grayImage;
cvtColor(image, grayImage, CV_RGB2GRAY); //将图片转化为灰度图
imwrite("Gray_Image.jpg", grayImage); //灰度图保存为jpg格式
namedWindow("Gray", WINDOW_AUTOSIZE); //显示灰度图片
imshow("Gray", grayImage);
waitKey(0);
return 0;
}
运行结果如图所示:
程序并不难,感觉如果以前用Matlab做过图像处理的上手应该比较容易,里面的函数和Matlab图像工具箱很相似。话说一点,记得添加opencv/cv.h头文件,在以前的版本中只需要添加cv.h头文件就行,但是因为在配置的时候只添加了include库,所以调用的时候要如opencv/cv.h头文件,如果配置的时候添加的库为include、opencv和opencv2的话就不需要那么麻烦了。