cv2.imwrite保存多张图片
时间: 2023-08-19 07:14:22 浏览: 48
可以使用循环来保存多张图片。下面是一个简单的示例代码:
```python
import cv2
# 读取多张图片
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
image3 = cv2.imread('image3.jpg')
# 保存多张图片
cv2.imwrite('output1.jpg', image1)
cv2.imwrite('output2.jpg', image2)
cv2.imwrite('output3.jpg', image3)
```
这个例子中,我们首先使用 `cv2.imread()` 函数读取三张图片。然后使用 `cv2.imwrite()` 函数将它们保存到不同的文件中。可以在 `cv2.imwrite()` 函数中指定要保存的文件名和要保存的图像对象。如果需要保存多张图片,可以在循环中重复使用 `cv2.imwrite()` 函数。
相关问题
cv2.imwrite保存图片
使用cv2.imwrite()函数可以将图像保存到指定路径。
以下是保存图像的步骤:
1. 首先,使用cv2.imread()函数读取图像。
2. 对图像进行处理或操作。
3. 使用cv2.imwrite()函数保存图像。该函数需要两个参数:第一个参数是图像的保存路径,第二个参数是要保存的图像。
以下是一个代码示例:
```python
import cv2
# 读取图像
img = cv2.imread("image.png")
# 对图像进行操作
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 保存图像
cv2.imwrite("gray_image.png", gray_img)
```
在这个示例中,我们首先读取了名为 "image.png" 的图像。然后将其转换为灰度图像,并将其保存为 "gray_image.png"。
cv2.imwrite保存图片覆盖了前张
图片,怎么办?
如果使用cv2.imwrite保存图片时,路径和文件名相同,就会覆盖前一张图片。为了避免这种情况发生,可以在文件名中添加一个时间戳或者随机数,这样每次保存的文件名都不一样,就不会覆盖前一张图片了。
例如,可以使用以下代码生成一个带时间戳的文件名:
```python
import time
filename = time.strftime("%Y%m%d-%H%M%S") + ".jpg"
cv2.imwrite(filename, image)
```
其中,time.strftime("%Y%m%d-%H%M%S")可以生成当前时间的字符串,如20211224-124536,然后将该字符串作为文件名保存图片。每次保存时,文件名都不同,就不会覆盖前一张图片了。