Python批量裁剪图片的思路详解

作者:zstar-_ 时间:2023-05-11 03:55:59 

需求

我的需求是批量裁剪某一文件夹下的所有图片,并指定裁剪宽高。

思路

1、 先使用PIL.Image.size获取输入图片的宽高。
2、宽高除以2得到中心点坐标
3、根据指定宽高,以中心点向四周拓展
4、调用PIL.Image.crop完成裁剪

程序

import os
from PIL import Image
def crop(input_img_path, output_img_path, crop_w, crop_h):
   image = Image.open(input_img_path)
   x_max = image.size[0]
   y_max = image.size[1]
   mid_point_x = int(x_max / 2)
   mid_point_y = int(y_max / 2)
   right = mid_point_x + int(crop_w / 2)
   left = mid_point_x - int(crop_w / 2)
   down = mid_point_y + int(crop_h / 2)
   up = mid_point_y - int(crop_h / 2)
   BOX_LEFT, BOX_UP, BOX_RIGHT, BOX_DOWN = left, up, right, down
   box = (BOX_LEFT, BOX_UP, BOX_RIGHT, BOX_DOWN)
   crop_img = image.crop(box)
   crop_img.save(output_img_path)
if __name__ == '__main__':
   dataset_dir = "cut"  # 图片路径
   output_dir = 'out'  # 输出路径
   crop_w = 300  # 裁剪图片宽
   crop_h = 300  # 裁剪图片高
   # 获得需要转化的图片路径并生成目标路径
   image_filenames = [(os.path.join(dataset_dir, x), os.path.join(output_dir, x))
                      for x in os.listdir(dataset_dir)]
   # 转化所有图片
   for path in image_filenames:
       crop(path[0], path[1], crop_w, crop_h)

测试

裁剪前:

Python批量裁剪图片的思路详解

裁剪后:

Python批量裁剪图片的思路详解

来源:https://blog.csdn.net/qq1198768105/article/details/125652106

标签:Python,批量,裁剪
0
投稿

猜你喜欢

  • PyTorch 中的 torch.utils.data 解析(推荐)

    2021-09-14 01:58:16
  • SqlServer数据库远程连接案例教程

    2024-01-21 10:16:08
  • Python 12306抢火车票脚本

    2023-09-12 13:36:11
  • python中的集合及集合常用的使用方法

    2023-05-04 11:14:11
  • Django实现CAS+OAuth2的方法示例

    2023-01-26 17:32:46
  • PHP实现sha-256哈希算法实例代码

    2023-05-25 01:05:23
  • 网页常用特效整理:初级篇

    2023-06-27 00:58:37
  • ASP实现类似Java中的Linked HashMap类

    2010-04-03 20:49:00
  • 如何修复MySQL数据库表

    2009-03-20 13:24:00
  • python数据处理 根据颜色对图片进行分类的方法

    2022-02-27 08:41:37
  • 在win和Linux系统中python命令行运行的不同

    2023-08-03 05:16:22
  • Sanic框架异常处理与中间件操作实例分析

    2023-04-30 00:27:31
  • python中如何使用insert函数

    2023-08-02 17:04:43
  • 使用Python操作excel文件的实例代码

    2023-07-14 10:45:50
  • Python使用pycharm导入pymysql教程

    2024-01-17 22:47:49
  • 获取Django项目的全部url方法详解

    2022-09-08 23:06:27
  • python实现贪吃蛇游戏源码

    2021-07-22 12:45:24
  • Django中外键ForeignKey介绍使用

    2023-05-18 01:26:30
  • python3 Scrapy爬虫框架ip代理配置的方法

    2021-03-01 00:39:11
  • python实现在控制台输入密码不显示的方法

    2023-06-19 22:44:23
  • asp之家 网络编程 m.aspxhome.com