Python Image模块基本图像处理操作小结


Posted in Python onApril 13, 2019

本文实例讲述了Python Image模块基本图像处理操作。分享给大家供大家参考,具体如下:

Python 里面最常用的图像操作库是Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较强大的,废话补多少,写点记录笔记。

1. 首先需要导入需要的图像库:

import Image

2. 读取一张图片:

im=Image.open('/home/Picture/test.jpg')

3. 显示一张图片:

im.show()

4. 保存图片:

im.save("save.gif","GIF") #保存图像为gif格式

5. 创建新图片:

Image.new(mode,size)
Image.new(mode,size,color)

栗子:

newImg = Image.new("RGBA",(640,480),(0,255,0))
newImg.save("newImg.png","PNG")

6.两张图片相加:

Image.blend(img1,img2,alpha) # 这里alpha表示img1和img2的比例参数

7. 点操作:

im.point(function) #,这个function接受一个参数,且对图片中的每一个点执行这个函数

比如:

out=im.point(lambdai:i*1.5)#对每个点进行50%的加强

8. 查看图像信息:

im.format, im.size, im.mode

9. 图片裁剪:

box=(100,100,500,500)
#设置要裁剪的区域
region=im.crop(box) #此时,region是一个新的图像对象。

10. 图像黏贴(合并)

im.paste(region,box)#粘贴box大小的region到原先的图片对象中。

11. 通道分离:

r,g,b=im.split()#分割成三个通道,此时r,g,b分别为三个图像对象。

12. 通道合并:

im=Image.merge("RGB",(b,g,r))#将b,r两个通道进行翻转。

13. 改变图像的大小:

out=img.resize((128,128))#resize成128*128像素大小

14. 旋转图像:

out=img.rotate(45) #逆时针旋转45度

有更方便的:

region = region.transpose(Image.ROTATE_180)

15. 图像转换:

out = im.transpose(Image.FLIP_LEFT_RIGHT)
#左右对换。
out = im.transpose(Image.FLIP_TOP_BOTTOM)
#上下对换

16. 图像类型转换:

im=im.convert("RGBA")

17. 获取某个像素位置的值:

im.getpixel((4,4))

18. 写某个像素位置的值:

img.putpixel((4,4),(255,0,0))

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
收藏整理的一些Python常用方法和技巧
May 18 Python
Python回调函数用法实例详解
Jul 02 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
分享Python字符串关键点
Dec 13 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
Python实现的弹球小游戏示例
Aug 01 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
python解析xml简单示例
Jun 21 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 Python
python使用pymongo操作mongo的完整步骤
Apr 13 #Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 #Python
python mac下安装虚拟环境的图文教程
Apr 12 #Python
python中的print()输出
Apr 12 #Python
Python面向对象程序设计类的多态用法详解
Apr 12 #Python
Python中format()格式输出全解
Apr 12 #Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 #Python
You might like
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
Python 操作MySQL详解及实例
2017/04/30 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Python通过socketserver处理多个链接
2020/03/18 Python
Python request post上传文件常见要点
2020/11/20 Python
英国健身专家:WIT Fitness
2021/02/09 全球购物
人事专员岗位职责说明书
2014/07/30 职场文书
员工工作及收入证明
2014/10/28 职场文书
小学优秀学生评语
2014/12/29 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
运动会200米广播稿
2015/08/19 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL