批量提取图片内容:Python OpenCV 实现代码示例
要批量提取多张图片的某几个块,可以使用图像处理库来实现。以下是一种可能的方法:
-
导入所需的库:首先,导入所需的图像处理库,例如OpenCV(Python)或PIL(Python Imaging Library)。
-
定义要提取的块的位置:根据需要,定义要提取的每个块的位置。可以使用像素坐标或比例坐标。
-
循环处理每张图片:遍历要处理的每张图片。
-
加载并处理图片:使用图像处理库加载并处理当前的图片。
-
提取块:根据定义的块位置,从图片中提取指定的块。
-
保存提取的块:将提取的块保存到指定的位置。
以下是一个示例代码,演示如何使用OpenCV库在Python中批量提取多张图片的某几个块:
import cv2
import os
# 定义要提取的块的位置(左上角和右下角的像素坐标)
block_positions = [(100, 100, 200, 200), (300, 300, 400, 400)]
# 循环处理每张图片
for filename in os.listdir('path_to_image_folder'):
if filename.endswith('.jpg') or filename.endswith('.png'):
# 加载并处理图片
img = cv2.imread(os.path.join('path_to_image_folder', filename))
# 提取块
for (x1, y1, x2, y2) in block_positions:
block = img[y1:y2, x1:x2]
# 保存提取的块
block_filename = f'{os.path.splitext(filename)[0]}_block_{x1}-{y1}_{x2}-{y2}.jpg'
cv2.imwrite(os.path.join('path_to_save_folder', block_filename), block)
请注意,以上代码仅为示例,需要根据实际情况进行修改和适配。确保提供正确的图片文件夹路径、保存文件夹路径和块位置信息。
原文地址: https://www.cveoy.top/t/topic/f08R 著作权归作者所有。请勿转载和采集!