opencv 保存图像

来源:互联网 发布:js下拉框默认选中 编辑:程序博客网 时间:2024/06/04 18:31

我们对原图像进行处理后,许多时候需要将处理后的图像进行保存,opencv提供了这样的函数 imwrite

声明如下:

bool imwrite(const string & filename, inputArray img,const  vector<int> & params=vector<int>() );
第一个参数,填写图像名称。如:“123.jpg”;第二个参数,填写Mat类型的图像名;第三个参数为特定格式下的参数编码,一般不需要填写。

举例:

Mat img;img=imread("girl.jpg",0);//载入灰度图像(imread函数中第二个参数是加载图像的颜色类型,0:载入灰度图像;1:载入彩色图像)imwrite("gray.jpg",img);
但是,如果我们循环处理多个图像时,将每个图像保存需要不同的命名编码,方法如下:

int flag=0;while(true){    //首先读取、处理图像    ....       //然后保存图像    char name[10];    //itoa(flag, name,10);//itoa()这个函数是平台相关的(不是标准库里的),故推荐使用下面的函数    sprintf(name, "%d", flag);//将数字转换为字符    char *l = "gray.jpg";    strcat(name, l);    imwrite(name, img1remap);     flag++;    .......//此处判断循环是否结束}