实践项目十一:Python批量图片切割(PIL)
2017-08-17 18:34
441 查看
需求
将一张图片均匀向右移动,向下移动,每移动一次,切割出一个固定面积的图片。思路
我们知道图片实际上是有一个二维数组组成的,所以先控制横坐标不变,纵坐标截取,一直到纵坐标的边界,然后向下移动横坐标,重复上一步操作。同时在这里我设置了三个不同的截取大小。
代码实现
# -*- coding:utf-8 -*- from PIL import Image ''' @author:xunalove 修改文件位置 修改图片id ''' def cut(id,vx,vy): #打开图片图片1.jpg name1 = "/home/xuna/桌面/3/图片"+ id + ".jpg" name2 = "/home/xuna/桌面/3/图片"+ id +"_切块_" im =Image.open(name1) #偏移量 dx = 40 dy = 40 n = 1 #左上角切割 x1 = 0 y1 = 0 x2 = vx y2 = vy #纵向 while x2 <= 320: #横向切 while y2 <= 480: name3 = name2 + str(n) + ".jpg" #print n,x1,y1,x2,y2 im2 = im.crop((y1, x1, y2, x2)) im2.save(name3) y1 = y1 + dy y2 = y1 + vy n = n + 1 x1 = x1 + dx x2 = x1 + vx y1 = 0 y2 = vy print "图片切割成功,切割得到的子图片数为" return n-1 if __name__=="__main__": #取图片id的后两位 id = "1" #切割图片的面积 vx,vy #大 res = cut(id,160,160) #中 #res = cut(id,120,120) #小 #res = cut(id,80,80) print res
截取的效果:
github链接:https://github.com/xuna123/Python_pro
相关文章推荐
- Python中用PIL库批量给图片加上序号的教程
- python3.6深度学习图片集处理项目源代码(为cnn等准备图片集合,批量生成、删除、改名、旋转、调整图片大小,包括删除指定路径下所有文件)
- Python 图形处理库PIL批量修改图片大小和格式
- Python中用PIL库批量给图片加上序号的教程
- Python 图形处理库PIL批量修改图片大小和格式
- Python 批量下载验证码图片及切割验证码图片,识别验证码,并以识别的文字重命令验证码
- python3.6深度学习图片集处理项目源代码(为cnn等准备图片集合,批量生成、删除、改名、旋转、调整大小)
- Python 图形处理库PIL批量修改图片大小和格式
- python实践项目(十一)
- python批量图片切割(opencv版)
- 【python】PIL 批量绘制图片矩形框工具
- Linux上安装Python的PIL和Pillow库处理图片的实例教程
- Python 项目实践一(外星人入侵小游戏)第三篇
- Python 项目实践三(Web应用程序)第二篇
- Windows下对文件夹下所有图片批量重命名(附C++,python,matlab代码)
- python3 批量缩放图片为iphone5的640*1136以下
- python实践项目(十)
- python爬虫小项目:爬取百度贴吧图片
- python 文件读写项目实践
- python实践项目(六)