当前位置:   article > 正文

利用Python-OpenCV实现对目录中的所有png图片实现批量裁剪的代码

利用Python-OpenCV实现对目录中的所有png图片实现批量裁剪的代码

利用Python-OpenCV实现对目录中的所有png图片实现批量裁剪的代码

import os
import cv2


def crop_images(input_folder, output_folder, crop_x, crop_y, crop_width, crop_height):
    # 检查输出文件夹是否存在,如果不存在则创建
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 获取输入文件夹中的所有PNG图片
    png_files = [f for f in os.listdir(input_folder) if f.endswith('.png')]

    for png_file in png_files:
        # 构建输入和输出文件的完整路径
        input_path = os.path.join(input_folder, png_file)
        output_path = os.path.join(output_folder, png_file)

        # 使用OpenCV加载图像
        image = cv2.imread(input_path)

        # 裁剪图像
        cropped_image = image[crop_y:crop_y + crop_height, crop_x:crop_x + crop_width]

        # 保存裁剪后的图像
        cv2.imwrite(output_path, cropped_image)


if __name__ == "__main__":
    # 输入文件夹路径,注意这里路径中不能有中文字符,原因是后面用到了os库,os库好像不支持中文字符
    input_folder_path = r"E:\Temp\picinput"

    # 输出文件夹路径,注意这里路径中不能有中文字符,原因是后面用到了os库,os库好像不支持中文字符
    output_folder_path = r"E:\Temp\picoutput"

    # 裁剪区域的坐标和尺寸
    crop_x = 0  # crop_x代表要截取的区域的左上顶点的横坐标,可以用Windows自带的绘图工具获取坐标值
    crop_y = 0  # crop_y代表要截取的区域的左上顶点的横坐标,可以用Windows自带的绘图工具获取坐标值
    crop_width = 500  # crop_width代表要截取的区域的宽度
    crop_height = 120  # crop_height代表要截取的区域的高度

    # 执行裁剪
    crop_images(input_folder_path, output_folder_path, crop_x, crop_y, crop_width, crop_height)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/79156
推荐阅读
相关标签
  

闽ICP备14008679号