从目录中获取图像,裁剪并将所有图像保存在目录中

Take images from a directory, crop and save all images in the directory

我正在尝试将高分辨率图像裁剪成更易于管理的图像。我正在尝试读取目录而不是单个图像,并将新裁剪的图像保存在另一个目录中。我想将所有输出图像设为我在代码中使用的 .png。

import cv2

path = './imgs2/P5.png'
img= cv2.imread (path)
imgcropped = img [1:400, 1:400]
cv2.imwrite ('./imgs/P5-cropped', imgcropped)

感谢任何解决此问题的帮助。

这是我在这种情况下使用的:

import os
import cv2

path = 'path/to/image/dir/'
dest_path = 'path/to/destination/'

for f in os.listdir(path):
    image = cv2.imread(os.path.join(path, f))
    imgcropped = img [1:400, 1:400]
    cv2.imwrite(os.path.join(dest_path, f), imgcropped)

假设:

  • path中的图片已经是.png
  • path 仅包含您要转换的图像

os.listdir 将为您提供源目录中文件的名称(包括扩展名),您可以在 imwrite 中使用这些名称以相同的文件名将图像保存在目标目录中。