通过python编写自定义尺寸和位置批量进行图像剪裁

前言

  我们常常需要批量对图片进行剪裁,使用下面的代码可以根据需要批量进行剪裁,只需要替换文件路径即可,且提供了三种位置进行剪裁,mode选择裁剪的方式 1就是以原点,如果选择2就是左上角,如果选择3就是右上角。也可以根据需要自行添加mode==n…

1.代码如下(示例):

import cv2
import os

# 定义裁剪的尺寸
width, height = 684, 384

# 读入文件夹路径
src_folder = '/path/to/src/folder'  #原始文件路径
dst_folder = '/path/to/dst/folder'   #保存文件的路径

# 选择裁剪的方式 1就是以原点,如果选择2就是左上角,如果选择3就是右上角
mode = 2  #This 选择

# 设置裁剪的位置
if mode == 1:
    start_point = (0, 0)
elif mode == 2:
    start_point = (0, 0)
elif mode == 3:
    start_point = (0, height - 384)
else:
    raise Exception("无效的裁剪方式")

# 创建目标文件夹
if not os.path.exists(dst_folder):
    os.makedirs(dst_folder)

# 遍历文件夹内的所有图片
for file_name in os.listdir(src_folder):
    file_path = os.path.join(src_folder, file_name)

    # 读入图片
    img = cv2.imread(file_path)

    # 裁剪图片
    cropped_img = img[start_point[1]:start_point[1]+height, start_point[0]:start_point[0]+width]

    # 保存裁剪后的图片
    dst_path = os.path.join(dst_folder, file_name)
    cv2.imwrite(dst_path, cropped_img)

你可能感兴趣的:(opencv,python,opencv,开发语言)