你可以使用 Python 的 PIL 库(或者 Pillow 库)来实现批量提取图片的某几个块,并将它们存储到指定的文件夹中。以下是一个示例代码:

import os
from PIL import Image

def extract_blocks(input_folder, output_folder, block_coordinates):
    # 创建输出文件夹
    os.makedirs(output_folder, exist_ok=True)
    
    # 遍历输入文件夹中的所有图片文件
    for filename in os.listdir(input_folder):
        if filename.endswith('.jpg') or filename.endswith('.png'):
            # 打开图片文件
            image_path = os.path.join(input_folder, filename)
            image = Image.open(image_path)
            
            # 提取每个块并保存
            for i, coords in enumerate(block_coordinates):
                block = image.crop(coords)
                block.save(os.path.join(output_folder, f'{filename}_{i}.jpg'))
            
            # 关闭图片文件
            image.close()

# 输入文件夹路径
input_folder = r'C:\Users\jh\Desktop\data\images1'

# 输出文件夹路径
output_folder = r'C:\Users\jh\Desktop\data\images_block'

# 块的坐标列表,每个元素为 (left, upper, right, lower)
block_coordinates = [
    (0, 0, 100, 100),    # 第一个块的坐标
    (100, 100, 200, 200),  # 第二个块的坐标
    # 可以继续添加更多块的坐标
]

# 调用函数进行批量提取和保存
extract_blocks(input_folder, output_folder, block_coordinates)

在上面的代码中,你需要替换input_folderoutput_folder变量的值为你想要使用的实际文件夹路径。block_coordinates变量是一个坐标列表,每个元素表示一个块的左上角和右下角像素坐标。你可以根据需要添加更多的块坐标。

运行上述代码后,它将遍历输入文件夹中的所有图片文件,并提取每个块。每个提取的块将以原始文件名加上块索引作为文件名,并保存在输出文件夹中。

Python 批量提取图片特定区域并保存 - 使用 PIL 库

原文地址: https://www.cveoy.top/t/topic/f0d6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录