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

不过最好还是客户端裁剪,这里只是为了讲一下图片处理的这个功能

1. 安装pillow####

用pip安装

pip install pillow

2. 图片裁剪####

2.1 准备一张图片

renren.jpeg

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是右下角的坐标

renren.png

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)

crop_test1.jpeg

crop_test2.jpeg

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")

****运行结果:****

crop_average-1.jpeg

crop_average-2.jpeg

crop_average-3.jpeg

crop_average-4.jpeg

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")

****运行结果:****

rotate-l45.jpeg

rotate-r30.jpeg

rotate-r30-crop.jpeg

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

python图片裁剪_Python图片裁剪(如: 头像裁剪)相关推荐

  1. python祝福代码_Python 将 QQ 好友头像生成祝福语的实现代码

    本文我们来看一下如何使用 Python 将 QQ 好友头像拼成"五一快乐"四个字.我们可以将整个实现过程分为两步:爬取 QQ 好友头像.利用好友头像生成文字. 爬取头像 爬取 QQ ...

  2. python字符照片_python图片转字符图片

    python图片转字符图片代码 话不多说,直接上代码. *************************** #-*- coding:utf-8 -*- from PIL import Image ...

  3. 头像裁剪框html css,js头像裁剪实现——canvas+Jcrop+jQuery

    封好的插件不用写html啦,直接new一个就好了 var test = document.getElementById("test"); var clipBox = new cli ...

  4. python做图片美化_python图片美化

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 功能性是开发的第一要务每一个 python 图形界面库都有它自有的功能特性和界面 ...

  5. python训练好的图片验证_Python图片验证码降噪处理实例

    图片验证码算是网络数据采集上的一道拦路虎,虽然有诸多公开的ORC接口.云打码平台,一旦大规模应用起来,还是内部写程序进行识别处理比较好. 而自己写代码进行识别的话,又有很多种方案,比如最近火热的神经网 ...

  6. python 图片合并_Python 图片合并pdf

    1.缘起 最近需要将记的笔记整理成一个 pdf 进行保存,所以就研究了一下如何利用 Python 代码将拍下来的照片整个合并成一个 pdf. 2.过程 拿到一个需求最重要的就是将大块任务拆分成一个个小 ...

  7. python显示图片不连续_Python 图片连接(不重叠)

    在用python处理图像的时候,除了图片叠加和图片拼接两种情况之外,有时候还会碰到需要上下左右连接图片合成一张图片.opencv中的cv2.addWeighted()和cv2.add()函数处理效果是 ...

  8. python图像亮度提取_Python 图片亮度

    Python处理图片亮度 使用python 采用原生库PIL中的方式调节图片亮度! 代码片. import os import math from PIL import Image, ImageSta ...

  9. python飞机大战怎么将图片保存_python 图片抓取 并保存到本地

    原博文 2020-05-23 22:48 − import requests from bs4 import BeautifulSoup from PIL import Image import os ...

最新文章

  1. Mongo DB 2.6 需要知道的一些自身限定
  2. 如何跟踪session
  3. 易天教你如何保养SFP光模块
  4. Automatic Diagnostic Repository Command-Interpreter
  5. AutoMapper在ABP框架中的使用说明
  6. QQ for Linux试用简易报告(yksoft1版)
  7. 大数据开发者必走的学习路线
  8. pythonfor循环输入_python的for循环
  9. bower使用中遇到的问题
  10. 《linux核心应用命令速查》连载十五:fuser:用文件或者套接口表示进程
  11. orbslam2 流程图_一种基于ORBSLAM2的八叉树建图方法与流程
  12. java类图_Java开发设计——UML类图
  13. poEdit: Windows下的.po文件编辑器
  14. laravel mysql 时区_Laravel时区设置
  15. nvidia-nccl
  16. 微信原图暴露的只能是 Exif ,你的隐私不在这!!!
  17. 微信小程序开发笔记 进阶篇④——getPhoneNumber 获取用户手机号码(小程序云)
  18. 使用计算机生成遐想景物图像,计算机多媒体
  19. 绝地求生发生错误服务器维护,绝地求生更新时发生错误无法连接服务器解决办法最新版...
  20. Unity更改模型中心和旋转中心

热门文章

  1. Linux定时关机并提示信息
  2. Elasticsearch(包括Lucene介绍)
  3. java corba_JAVA版CORBA程序
  4. Ubuntu下无法打开终端解决办法
  5. 解:通过一个9升水的桶和一个4升水的桶在河里取6升水
  6. 勒索病毒敲响网络安全警钟
  7. 我的勇者服务器显示关闭,我的勇者退出工会流程一览
  8. 诸神之战!!奖金 ¥230,0000,寻找最强开发者!
  9. Java 核心技术卷1 --第六章 接口、lambda表达式和内部类
  10. NKOJ P1107 ---- 达喀尔拉力赛