Python图片裁剪实例代码(如头像裁剪)


Posted in Python onJune 21, 2017

今天就来说个常用的功能,图片裁剪,可用于头像裁剪啊之类的。用的还是我们之前用的哪个模块pillow

1. 安装pillow

用pip安装

pip install pillow

2. 图片裁剪

2.1 准备一张图片

Python图片裁剪实例代码(如头像裁剪)

2.2 我们使用的是Image中的crop(box)功能,它需要一个参数box,元组 类型,元组包括4个元素,如:
(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h)

如图:(x, y, x+w, y+h), x,y是裁剪框左上角的坐标, x+w,y+h是右下角的坐标

Python图片裁剪实例代码(如头像裁剪)

2.3 上代码1-裁剪:

# -*-coding:utf-8-*-
from PIL import Image
im = Image.open("renren.jpeg")
# 图片的宽度和高度
img_size = im.size
print("图片宽度和高度分别是{}".format(img_size))
'''
裁剪:传入一个元组作为参数
元组里的元素分别是:(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h)
'''
# 截取图片中一块宽和高都是250的
x = 100
y = 100
w = 250
h = 250
region = im.crop((x, y, x+w, y+h))
region.save("./crop_test1.jpeg")

# 截取图片中一块宽是250和高都是300的
x = 100
y = 100
w = 250
h = 300
region = im.crop((x, y, x+w, y+h))
region.save("./crop_test2.jpeg")

运行结果:

(venv) allenwoo@~/renren/code$ python test.py
图片宽度和高度分别是(500, 500)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

2.4 上代码2-平均切割成4块:

# 把图片平均分成4块
# 第1块
w = img_size[0]/2.0
h = img_size[1]/2.0
x = 0
y = 0
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-1.jpeg")

# 第2块
x = w
y = h
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-2.jpeg")

# 第3块
x = 0
y = h
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-3.jpeg")

# 第4块
x = w
y = 0
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-4.jpeg")

运行结果:

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

2.5 上代码3-旋转图片:

# 旋转图片
# 左旋转45度
im = im.rotate(45)
im.save("./rotate-l45.jpeg")

# 右旋转30度
im = im.rotate(-30)
im.save("./rotate-r30.jpeg")

# 右旋转45度, 并裁剪一块
im = im.rotate(-30)
x = 50
y = 50
w = 150
h = 150
region = im.crop((x, y, x+w, y+h))
region.save("./rotate-r30-crop.jpeg")

运行结果:

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

好了,到这里你完全可以做个头像裁剪了的后端操作了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python 实现登录网页的操作方法
May 11 Python
python调用摄像头显示图像的实例
Aug 03 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
Python日志syslog使用原理详解
Feb 18 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
如何用python批量调整视频声音
Dec 22 Python
Python Numpy之linspace用法说明
Apr 17 Python
pytorch实现手写数字图片识别
May 20 Python
pytorch--之halfTensor的使用详解
May 24 Python
Python编程实战之Oracle数据库操作示例
Jun 21 #Python
Python获取SQLite查询结果表列名的方法
Jun 21 #Python
基于hashlib模块--加密(详解)
Jun 21 #Python
详谈Python基础之内置函数和递归
Jun 21 #Python
浅谈python内置变量-reversed(seq)
Jun 21 #Python
python 简单的绘图工具turtle使用详解
Jun 21 #Python
利用python批量给云主机配置安全组的方法教程
Jun 21 #Python
You might like
php使用Imagick生成图片的方法
2015/07/31 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
跟老齐学Python之模块的加载
2014/10/24 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
婚纱摄影师求职信范文
2014/04/17 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
运动会800米赞词
2015/07/22 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
Python中的xlrd模块使用整理
2021/06/15 Python
python基于turtle绘制几何图形
2021/06/15 Python