opencv图像批量分块并保存
时间: 2023-08-30 15:03:10 浏览: 114
用OpenCV批量处理图像
3星 · 编辑精心推荐
要使用OpenCV进行图像批量分块并保存,需要以下步骤:
1. 首先,导入OpenCV库,并读取图像文件夹中的所有图像。
2. 创建一个循环,用于遍历每个图像。
3. 对于每个图像,使用OpenCV的函数将其加载为一个Mat对象。
4. 定义每个块的大小,可以根据需要调整。
5. 使用嵌套循环,根据块的大小,将图像分割为多个块。
6. 对于每个块,使用OpenCV的函数将其保存为图像文件。
7. 重复上述步骤,直到遍历完所有图像。
下面是示例代码:
```python
import cv2
import os
# 图像文件夹路径
img_folder = "your_image_folder"
# 获取文件夹中的所有图像文件
image_files = os.listdir(img_folder)
# 遍历每个图像文件
for image_file in image_files:
# 加载图像
image = cv2.imread(os.path.join(img_folder, image_file))
# 定义块的大小
block_size = 100
# 循环分割图像为块,并保存
for r in range(0, image.shape[0], block_size):
for c in range(0, image.shape[1], block_size):
# 提取当前块
block = image[r:r+block_size, c:c+block_size]
# 保存当前块为图像文件
block_file_name = os.path.splitext(image_file)[0] + "_block_" + str(r) + "_" + str(c) + ".png"
cv2.imwrite(os.path.join(img_folder, block_file_name), block)
```
这段代码假设图像文件夹路径为“your_image_folder”,并且文件夹中包含要处理的图像文件。代码将循环遍历每个图像文件,将每个图像文件加载为一个Mat对象,然后使用嵌套循环将图像划分为多个块,每个块的大小由变量“block_size”定义。最后,保存每个块为一个图像文件,文件名包括原图像文件名、块的行和列索引。
阅读全文