1、读函数原型
CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
第一个参数为图片的名称。
第二个为读取图片采用什么格式来读。
Cv::IMREAD_COLOR 总是读取三通道图像
Cv::IMREAD_GRAYSCALE 总是读取单通道图像
CV::IMREAD_ANYCOLOR 通道数由文件实际通道数(不超过3)
Cv::IMREAD_ANYDEPTH 允许加载超过8bit深度。
Cv::IMREAD_UNCHANGED 于将Cv::IMREAD_ANYCOLOR和CV::IMREAD_ANYDEPTH组合了起
代码:
//以灰色的格式读取
cv::Mat myimg = cv::imread("test1.png", cv::IMREAD_GRAYSCALE);
cv::imshow("image", myimg);
cv::waitKey(0);
2、写函数
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
const std::vector<int>& params = std::vector<int>());
第一个参数为图片名称;
第二个为图片数据。
第三个参数被用作特殊类型文件的写入操作时所需的数据。输入参数为内部为整型数据的一个STL vector,vector中的整型序列的具体内容为:一系列的参数ID,以及与该参数对应的参数值,每个参数ID之后跟着其对应的值,默认为空数组。
代码:
cv::Mat myimg = cv::imread("test1.png", cv::IMREAD_GRAYSCALE);
cv::imshow("image", myimg);
cv::waitKey(0);
//写操作
cv::imwrite("result_test1.jpg", myimg);