opencv imwrite多张不同文件名定义
时间: 2023-11-04 10:05:42 浏览: 79
您可以使用一个循环来保存多张图像,并为每个图像指定不同的文件名。以下是一个示例代码:
```
import cv2
# 读取图像列表
image_list = ['image1.jpg', 'image2.jpg', 'image3.jpg']
# 循环保存图像
for i, image_file in enumerate(image_list):
# 读取图像
image = cv2.imread(image_file)
# 定义文件名
filename = 'image_' + str(i+1) + '.jpg'
# 保存图像
cv2.imwrite(filename, image)
```
在此示例中,我们使用`enumerate()`函数获取每个图像的索引,并使用该索引创建文件名。每个图像都将保存为`image_1.jpg`,`image_2.jpg`等。
相关问题
opencv imwrite多张不同文件名定义c++
以下是使用OpenCV的C++代码示例,将多个图像保存到不同的文件中:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img1 = imread("image1.png");
Mat img2 = imread("image2.png");
Mat img3 = imread("image3.png");
if (img1.empty() || img2.empty() || img3.empty()) {
cout << "Error: Could not read image file(s)." << endl;
return -1;
}
imwrite("output1.png", img1);
imwrite("output2.png", img2);
imwrite("output3.png", img3);
return 0;
}
```
在上面的代码中,我们首先使用imread函数读取三个图像文件。如果我们无法读取任何一个图像,则会输出错误消息并退出程序。然后,我们使用不同的文件名将每个图像保存为PNG格式的文件。在这个例子中,我们分别将它们保存为output1.png、output2.png和output3.png。
opencv imwrite多张不同文件名定义c++代码
下面是一个示例代码,可以使用opencv的imwrite函数写入多张不同文件名的图像。
```c
#include <opencv2/opencv.hpp>
#include <vector>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 要写入的图像
vector<Mat> images;
images.push_back(imread("image1.jpg", IMREAD_COLOR));
images.push_back(imread("image2.jpg", IMREAD_COLOR));
images.push_back(imread("image3.jpg", IMREAD_COLOR));
// 文件名
vector<string> filenames;
filenames.push_back("output1.jpg");
filenames.push_back("output2.jpg");
filenames.push_back("output3.jpg");
// 写入图像
for (int i = 0; i < images.size(); i++)
{
imwrite(filenames[i], images[i]);
}
return 0;
}
```
在这个例子中,我们首先创建了一个包含要写入的图像的向量。然后,我们创建了另一个向量,包含每个图像的文件名。最后,我们使用for循环,将每个图像写入其对应的文件。
阅读全文