python Image 模块处理图片
Python-Image 基本的图像处理操作,有需要的朋友可以参考下。
Python 里面最常用的图像操作库是
pip install Pillow #安装模块 from PIL import Image #调用模块
import sys
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 Image 模块处理图片的更多相关文章
- python 常用模块(转载)
转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
随机推荐
- gitlab安装教程 正在修炼的西瓜君
查看内存配置 我们先不急着来安装gitlab,先来看一下自己电脑的内存情况,我把这一步提到最前面,是因为这是我安装过程中遇到的最大的坑. 下面是gitlab的cpu和内存需求(https://do ...
- web.py之cookie和session
官方给的session例子这里就不讲了.下面直接将怎么设置session,取session: session相关代码一定要放在web.py框架的Main.py里面. # Main.py # 设置ses ...
- winform中使用缓存
文章:Winform里面的缓存使用 另外一篇文章:缓存-MemoryCache Class
- selenium 操作多个窗口间切换
#coding=gbk ''' selenium多个窗口间切换 ''' from selenium import webdriver as wd from selenium.webdriver imp ...
- GPU显存释放
一.当程序没有运行,但GPU仍被占用, 可通过nvidia-smi查看,被占用的pid是什么 或通过sudo fuser -v /dev/nvidia* #查找占用GPU资源的PID 然后采用kill ...
- ASP.NET MVC 使用分部视图制作公共头部,尾部,并通过ViewBag传值
一:新建分部视图 二:布局页_Layout.cshtml上调用 不灵活,不能传递数据,引用静态公共部分 @Html.Partial("_Head") @Html.Partial(& ...
- sql prompt工具
SQL Prompt是一款拥有SQL智能提示功能和格式化Sql代码插件.可用于的SQL Server和VS. SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为 ...
- 10 | MySQL为什么有时候会选错索引?
前面我们介绍过索引,你已经知道了在MySQL中一张表其实是可以支持多个索引的.但是,你写SQL语句的时候,并没有主动指定使用哪个索引.也就是说,使用哪个索引是由MySQL来确定的. 不知道你有没有碰到 ...
- webuploader+文件夹上传
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...
- js批量下载文件
关于兼容性问题: <a href="xxx.docx" target='_blank'></a> 下载文件时,这种写法是没有兼容性问题:但是下载图 ...