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获取当前计算机cpu数量的方法
Apr 18 Python
python中assert用法实例分析
Apr 30 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
使用Scrapy爬取动态数据
Oct 21 Python
Python中dict和set的用法讲解
Mar 28 Python
python日志logging模块使用方法分析
May 23 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
关于的python五子棋的算法
May 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
php 移除数组重复元素的一点说明
2008/11/27 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php 基础函数
2017/02/10 PHP
php实现socket推送技术的示例
2017/12/20 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python实现简单拆分PDF文件的方法
2015/07/30 Python
python判断数字是否是超级素数幂
2018/09/27 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
对python中return与yield的区别详解
2020/03/12 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
Python常用类型转换实现代码实例
2020/07/28 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
中学生操行评语
2014/04/24 职场文书
广告宣传策划方案
2014/05/21 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
java项目构建Gradle的使用教程
2022/03/24 Java/Android
Python 图片添加美颜效果
2022/04/28 Python