python 批量截取图片 并保存原图片名

前言

最近需要对图片进行批量截取处理,所以写下来作为笔记


代码

对每张图片都需要点选然后截图

import matplotlib.pyplot as plt
import  os
from PIL import Image
path = "D:\\NumericalModel\\changdi"
filelist = os.listdir(path)      # 列举当前文件夹所有文件
for pictureName in filelist:
    if pictureName[-3:] != "png":
        continue                  #图片都是png格式,如果不是 跳过
    newPath = path + "\\" + pictureName
    im = Image.open(newPath)
    plt.imshow(im, cmap = plt.get_cmap("gray"))
    pos = plt.ginput(2)      #  点选像素坐标 截取图片
    cropped = im.crop((pos[0][0], pos[0][1], pos[1][0], pos[1][1]))
    cropped.save("D:\\NumericalModel\\changdi\\new\\"+ pictureName )  #以原文件名保存到新的文件夹
    

如果处理要求很规范,每张图片只要固定位置的截图,可以先选好坐标:

import matplotlib.pyplot as plt
from PIL import Image
im = Image.open("/1.png")
plt.imshow(im, cmap = plt.get_cmap("gray"))
pos=plt.ginput(2) 
print(pos)
cropped = im.crop((pos[0][0], pos[0][1], pos[1][0], pos[1][1]))  # (left, upper, right, lower)
cropped.save("Desktop\\new\\2.png")

之后把输出的像素点坐标换到

cropped = im.crop((pos[0][0], pos[0][1], pos[1][0], pos[1][1]))

这行即可!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值