先上代码:
#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的话就不需要那么麻烦了。
本文介绍了一个简单的OpenCV程序,该程序用于将彩色图片转换为灰度图,并展示了如何读取、显示和保存处理后的图片。文章还提到了在不同OpenCV版本中包含头文件的一些注意事项。
2233

被折叠的 条评论
为什么被折叠?



