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

本文来自:http://www.aichengxu.com/python/39904.htm

Python-Image 基本的图像处理操作的更多相关文章

  1. python 文件及文件夹操作

    python 文件.目录操作(新增.移动.删除等) python 文件夹与文件操作 mport string, os, sys dir = '/var' print '----------- no s ...

  2. 使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

  3. Python/Django(CBV/FBV/ORM操作)

    Python/Django(CBV/FBV/ORM操作) CBV:url对应的类(模式) ##====================================CBV操作============ ...

  4. Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机

    基于Python同Linux进行交互式操作实现通过堡垒机访问目标机   by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实现功能 1 测试环境 1 代码实践 2 注 ...

  5. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  6. 在Python程序中的进程操作,multiprocess.Process模块

    在python程序中的进程操作 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起 ...

  7. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  8. python 关于文件夹的操作

    在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() #  path 表示文 ...

  9. Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法

    知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...

随机推荐

  1. ASP.NET:EntityFramework实现Session

    ASP.NET默认的InProc模式的Session既浪费内存又在网站重启时存在数据丢失问题,SQLServer模式的Session只支持SQL Server又需要命令行配置.使用EntityFram ...

  2. Android 开发工具类 24_getHtml

    获取网页(JSP)源码 import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; impo ...

  3. Attr.checkId()方法

    1.符号sym是TYP02 举个例子,如下: package bazola; class Point { // ... } class Tree<A> { class AttrVisito ...

  4. javascript技巧总结

    1.删除前后空格 String.prototype.trim = function () { return this.replace(/(^[ | ])|([ | ]$)/g, "" ...

  5. pycharm的python console报错CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 87, in init self.matchers.remove(self.python_matches) ValueError: list.remove(x): x not in list

    卸载ipython pip uninstall ipython 安装ipython6.2.0 pip install ipython==6.2.0

  6. C语言中判断字符串str1是否以str2开始或结束

    #include <stdlib.h> #include <string.h> #include <stdio.h> /**判断str1是否以str2开头 * 如果 ...

  7. 在你的 Rails App 中开启 ETag 加速页面载入同时节省资源

    转自http://huacnlee.com/blog/use-etag-in-your-rails-app-to-speed-up-loading/ 什么是 ETag 网上关于 ETag 的解释有很多 ...

  8. Vue双向绑定的关键:Object.defineProperty()

    这个方法了不起啊.vue.js和avalon.js 都是通过它实现双向绑定的.而且Object.observe也被草案发起人撤回了.所以defineProperty更有必要了解一下了. 先上几行代码看 ...

  9. 扫描网站服务器真实IP的小脚本

    #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Date: 2015年9月11日 # Author:蔚蓝行 ...

  10. 关于phonegap-plugin-contentsync插件

    插件介绍: 作用:下载并缓存远程托管的内容. 地址:https://github.com/phonegap/phonegap-plugin-contentsync 插件支持的平台:Android.IO ...