这个程序和【第一课】差不多,只是增加保存函数imwrite()和cvtColor()
【编译环境:opencv2.4.4和VS2008】
#include "stdafx.h"
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//创建Mat指针
Mat src;
Mat src_gray;
//加载图片
src= imread("F://Opencv_picture//44.jpg", CV_LOAD_IMAGE_COLOR);
if(!src.data)
{
cout<<"Could not open or find the iamge"<< endl;
return -1;
}
//改为灰色图片
cvtColor(src, src_gray, COLOR_BGR2GRAY);
//保存图片
imwrite("gray_image.jpg", src_gray);
//创建窗口
namedWindow("Display");
namedWindow("Display_gray", CV_WINDOW_AUTOSIZE);
//显示图片
imshow("Display", src);
imshow("Display_gray", src_gray);
//暂停,等待按键响应退出
waitKey(0);
return 0;
}
**********************************************************
相同部分就不讲了^_^,不懂自己去看【第一课】
(1)把一种颜色转换为另一种颜色
C++: void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
C: void cvCvtColor(const CvArr* src, CvArr* dst, int code)
(2)保存图片
C++: bool imwrite(const string& filename, InputArray img, const vector<int>& params=vector<int>() )
C: int cvSaveImage(const char* filename, const CvArr* image, const int* params=0 )
PS:由【第一课】和【第二课】得知,opencv在C++和C语言中有些函数变化相差不大,很多就是相同单词组合,但没有【 cv 】这个前缀;也有变了单词,但意思没变,比如保存图片函数imwrite()和cvSaveImage。