python PIL模块学习
PIL
PIL:Python Imaging Library。对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础。
PIL安装
安装推荐别人的吧,好多依赖包:https://blog.csdn.net/qq_31550425/article/details/53453189
PIL简单使用
# -*- coding: utf-8 -*-
from PIL import Image # 读取当前图片
im = Image.open('timg.jpeg') # 用系统自带的图片查看器查看该图片
im.show() # 将图片进行逆时针旋转
im.rotate(90).show() # 将图片进行顺时针旋转
im.rotate(-90).show() # 保存图像为gif格式
im.save("save.gif","GIF") #resize成128*128像素大小
out=im.resize((128,128)) # 更改坐标,表示为坐标是 (left, upper, right, lower)
box = (100, 100, 400, 400)
region = im.crop(box) # 获取图片基本信息
print(im.format, im.size, im.mode) # 等比例缩放
size = 128, 128
im.thumbnail(size,Image.ANTIALIAS) # 通道分离,将图片封装成三个通道,分别为三个图像对象
r, g, b = im.split()
print r, g, b
# <PIL.Image.Image image mode=L size=128x85 at 0x7F3B7F40D248>
# <PIL.Image.Image image mode=L size=128x85 at 0x7F3B7F40D3F8>
# <PIL.Image.Image image mode=L size=128x85 at 0x7F3B7F40D440> # 能分离就能合并,将b,r两个通道进行翻转。
im = Image.merge("RGB", (b, g, r))
# 图像左右转换
im.transpose(Image.FLIP_LEFT_RIGHT) # 图像上下转换
im.transpose(Image.FLIP_TOP_BOTTOM)
# 图像类型转换
im.convert("RGBA")
python PIL模块学习的更多相关文章
- python - argparse 模块学习
python - argparse 模块学习 设置一个解析器 使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数.那么当你的程序运行时,该解析器就可以用于处理命令行参数. 解 ...
- python paramiko模块学习分享
python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...
- Python logging 模块学习
logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...
- Python time模块学习
Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...
- python os模块学习
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...
- Python PIL模块笔记
利用python pil 实现给图片上添加文字 图片中添加文字#-*- coding: utf-8 -*- from PIL import Image,ImageDraw,ImageFont ttfo ...
- python logging模块学习(转)
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- python atexit模块学习
python atexit模块 只定义了一个register模块用于注册程序退出时的回调函数,我们可以在这个函数中做一下资源清理的操作 注:如果程序是非正常crash,或者通过os._exit()退出 ...
- Python 第二模块学习总结
学习总结: 1.掌握对装饰器的用法 2.掌握生成器的用法 3.掌握迭代器的用法 4.熟悉Python内置函数 5.熟悉Python shutil/shelve/configparse/hashlib/ ...
随机推荐
- USB OTG简介、与普通USB线的区别
USB有三类接口A类接口 -----------最常见的扁平接口,四芯 VCC GND D+ D- B类接口 ...
- Linux显示邮件状态等信息
Linux显示邮件状态等信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -l Login: youhaidong Name: youhaid ...
- org.hibernate.TransientObjectException:The given object has a null identifier
1.错误描述 org.hibernate.TransientObjectException:The given object has a null identifier:com.you.model.U ...
- Nethogs - 网络流量监控工具
命令iftop来检查带宽使用情况.netstat用来查看接口统计报告.还有其他的一些工具Bandwidthd.Speedometer.Nethogs.Darkstat.jnettop.ifstat.i ...
- Ball HDU - 4811
Jenny likes balls. He has some balls and he wants to arrange them in a row on the table. Each of tho ...
- 前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。
一,html脚本 <script type="text/javascript"> $(function() { $(".btn-submit").c ...
- CentOS7安装dnf报错:No package dnf available
1.百度中提供的安装办法 yum install epel-release -y yum install dnf 2. No package dnf available解决办法 运行一下几个命令: w ...
- CSS3动画--过渡效果
CSS3动画--过渡效果 transition 设置四个过渡属性 transition-property 过渡的名称 tr ...
- JavaScript 再谈闭包
之前有整理过一版关于闭包的概念,但感觉思路不是很清晰,是临时想起一些例子来讲的,今天再次来讲一下闭包. 闭包: 函数嵌套函数,内部函数可以引用外部函数的参数和变量 function aaa(a){ v ...
- 今年暑假不AC【贪心】
Problem Description "今年暑假不AC?""是的.""那你干什么呢?""看世界杯呀,笨蛋!"" ...