python图片批量裁剪

原创 2017年01月03日 16:22:56

测试中对图片有的地方对大小有要求,有的需要裁剪边缘,花了一点时间做了个图片的批量裁剪,同时也学习了python对文件的简单操作

#coding=utf-8
#
# 测试需要,裁剪图片,使用之前学过的技术
# 做一个裁剪的小案例

import os
#读取path路径下的 jpg文件
def getAllImages(path):
    #f.endswith()  限制文件类型
    #f.endswith('.jpg')|f.endswith('.png')  改成这句可以读取jpg/png格式的文件
    #注意 返回的是绝对路径
   return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]

import pylab as plb
import PIL.Image as Image
#循环读图
for path in getAllImages(r'D:\\test'):
    #读图
    img = Image.open(path)
    #显示
    plb.imshow(img)
    #设置裁剪点(4个)
    corner = plb.ginput(4)
    #顺时针取点求解
    left = (corner[0][0] + corner[3][0])/2
    top = (corner[1][1] + corner[0][1])/2
    reight = (corner[1][0] + corner[2][0])/2
    under = (corner[3][1] + corner[2][1])/2
    #print left,top,reight,under
    #box = [left,top,reight,under]
    #box中的数必须是 int 否则会报错
    box = [int(left),int(top),int(reight),int(under)]
    #裁剪
    img2 = img.crop(box)
    #显示裁剪后的效果
    #plb.imshow(img2)
    #plb.show()
    #储存为原来路径覆盖原文件
    img2.save(path)
plb.show()

注意:

1.box中是 int 型 ,不是整形会报错
2.裁剪选点需要顺时针选点,当然也可根据需要自行修改源码
3.f.endswith(‘.jpg’)|f.endswith(‘.png’) 可以读取jpg/png格式的文件
4.getAllImages(path)返回类型为绝对路径

版权声明:本文为博主原创文章,转载请注明出处!!!(●'◡'●)

图像的二值化之python+opencv

定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。            一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直...
  • what_lei
  • what_lei
  • 2015年10月15日 22:05
  • 19288

python图片批量裁剪

测试中对图片有的地方对大小有要求,有的需要裁剪边缘,花了一点时间做了个图片的批量裁剪,同时也学习了python对文件的简单操作#coding=utf-8 # # 测试需要,裁剪图片,使用之前学过的技术...
  • Small_Mouse0
  • Small_Mouse0
  • 2017年01月03日 16:22
  • 7986

Python+OpenCV图片批量裁剪

  • 2017年08月26日 10:22
  • 3KB
  • 下载

窗体版Python批量处理地理数据--栅格裁剪

一、说明        之前写过用Python代码块处理地理数据的例子,如裁剪、投影、格式转换等,曾想过用C#制作个窗体,嵌入Python代码,今天无意发现Python也能用tKinter构建简单的...
  • lucky51222
  • lucky51222
  • 2015年12月20日 16:21
  • 1685

Python批量裁切影像

作用:批量裁切指定目录下的影像数据 [python] view plaincopy # ------------------------------...
  • yh0503
  • yh0503
  • 2014年08月15日 11:01
  • 727

批量切割图片数据python版本

  • 2017年10月31日 12:58
  • 5KB
  • 下载

Python批量截取图片制作训练正样本

距离上一篇博文已经有好长一段时间了,其中的原因是自己一直比较迷茫,做的事情也不是很多,可以用“荒废”一词形容,前两个月也一直忙于备考TOEFL,考后终于可以静下心来好好准备BitTiger的“无人驾驶...
  • zyb19931130
  • zyb19931130
  • 2016年12月13日 21:28
  • 879

Python 图片批量裁剪

def base10toN(num,n):      """Change a  to a base-n number.      Up to base-36 is supported without ...
  • juhaotian
  • juhaotian
  • 2014年09月20日 14:46
  • 646

PhotoShop:对一张图片 批量裁剪

身为一个APP开发者,对一张图片批量裁剪是刚需,尤其对于iOS APP来讲,如果美工不给力,那你就得嗝屁。而且现在的很多美工只会用PS 单张处理图片,很费时间。 在此提供 JS脚本(脚本真是个好东西...
  • ws1836300
  • ws1836300
  • 2017年10月31日 21:02
  • 185

Python+GDAL图片批量裁剪

  • 2017年08月26日 10:24
  • 5KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python图片批量裁剪
举报原因:
原因补充:

(最多只允许输入30个字)