当前位置: 首页 > news >正文

通过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)

相关文章:

  • 开发人员对需求的正确打开方式
  • SQLSERVER 快照隔离级别 到底怎么理解?
  • 《SQL基础》09. 事务
  • 设计模式-第1章(简单工厂模式)
  • springboot,vue教务管理系统
  • 5.6 频率响应与阶跃响应
  • Next.js 中的 SEO
  • 初识Linux基础工具之yum vim gcc gdb git以及简单makefile文件的编写
  • Traffic Signs Recognition with 95% Accuracy using CNNKeras
  • axios中params和data的区别
  • 【QT】C++和QML使用多线程优化界面切换卡顿的方法
  • kob后端1
  • Kotlin~工厂方法、抽象工厂模式
  • C++继承(下)
  • PKI证书签发系统(2.0web版)
  • Ubuntu20.4下安装TensorFlow2.x
  • 【项目部署】Python Django部署到阿里云
  • MySQL数据库索引并没有你想的那么难之第一节
  • 数据结构与算法-单链表
  • 记一次git误操作, 合并冲突别人新增文件显示成“自己新增“绿色文件
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉