opencv之读写图像(imread)

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);

你可能感兴趣的:(opencv,opencv,计算机视觉,图像处理,imread,imwrite)