python PIL图像处理
新建图像
# 三个参数分别代表图像的模式:常用的为RGB(3通道) 、RGBA(4通道为透明通道,0为完全透明, 256为不透明)
# 第二个参数为图像的长宽参数
# 第三个为默认的填充颜色,RGB时长度为3,RGBA是长度为4
img =Image.new('mod',(width,height),(color1, color2, color3, color4))
打开图像
# 打开已存在的图像,两个参数分别表示图像路径及模式
img =Image.open('path','mode')
预览&保存
# 加入到缓存中,并打开图片展示,常用于测试环境中
img.show()
# 保存图片
img.save('path','mode')
修改图像参数
# 修改图片大小
img =img.resize((width,height))
# 修改模式 常用的模式: RGB、RGBA、1(二值图)、L(灰度图),当转换为二值图时,默认将128以下的转为黑色,128以上的像素转换为白色,为满足多样化需求,可以使用自定义方法: img.point(table, 'model'),但是在使用自己的字典转换后的图片与使用模式'1'的差别很大,目前无解,随后有需要了再重新看这个地方
img = img.convert('mode')
透明度处理
# 透明度处理仅为RGBA模式才会有,如为非RGBA,则可进行转换
img = img.convert('RGBA')
# 获取alpha(透明度层图像),可以像普通图片一样修改相应的透明度
img.split()[3]
# 设置图片的透明图层,新增或替换透明图层,注意透明图层与原图像的大小要相同
img.putalpha(alpha)
图像粘贴
img =''
# 可以将部分图片粘贴到指定位置,有三个参数,粘贴的内容,粘贴的位置:如果长度为2,则表示起始位置,如果长度为4,则表示起始与结束位置; mask:蒙板层,当img1的模式为RGB模式时,设置为None,如果为RGBA,即存在透明图层时,因为粘贴时无法将图片的透明图层复制过来,所以需要在这里手动指定透明图层
img2.paste(img1,(x, y), mask=img.split()[3])
其它的操作
# 获取指定位置的颜色
img.getpixel((x, y))
# 设置指定位置的颜色
img.putpixel((x, y),(color1....))
# 图片的旋转,常用的有三个参数:逆时针旋转的角度
# 旋转过后的图片过滤器,默认的效果较差,可以指定另外几种类型
# expand 偏转后是否改变长宽来显示所有内容
img = img.rotate(angle, resample=NEAREST, expand=0)
基本上就这么多内容了,其它的随后用到时再补…………
python PIL图像处理的更多相关文章
- python PIL 图像处理操作
python PIL 图像处理 # 导入Image库 import Image # 读取图片 im = Image.open("1234.jpg") # 显示图片 im.show( ...
- python PIL 图像处理
python PIL 图像处理 This blog is from: https://www.jianshu.com/p/e8d058767dfa Image读出来的是PIL的类型,而skimage. ...
- python PIL 图像处理库简介(一)
1. Introduction PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处 ...
- python PIL图像处理库
1. Introduction PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了. ...
- python——PIL(图像处理库)
PIL(Python Imaging Library,python图像处理库)提供了通用的图像处理功能,以及大量有用的基本图像操作,如图像缩放,裁剪,旋转,颜色转换等. 1.打开图像并显示 from ...
- python PIL图像处理-框选
框选图中位置 代码 from PIL import Image,ImageDraw,ImageFont,ImageFilter import random #--------------------- ...
- python PIL图像处理-生成图片验证码
生成效果如图: 代码 from PIL import Image,ImageDraw,ImageFont,ImageFilter import random # 打开一个jpg图像文件: im = I ...
- python PIL图像处理-图片上添加文字
首先需要安装库pillow cmd安装命令:pip install pillow 安装完后,编写脚本如下: from PIL import Image, ImageDraw, ImageFont de ...
- Python,PIL压缩裁剪图片
自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便.需要安装 PIL #!/usr/bin/env python import Image import os import os.path ...
随机推荐
- git 分支改名
给一个git分支改名的方法很简单 如果对于分支不是当前分支,可以使用下面代码: git branch -m 原名 新 如果是当前,那么可以使用加上新名字 git branch -m 原名 参见: ht ...
- MySql sql按时间分组
select DATE_FORMAT(f.upload_time,'%Y%u') weeks,count(*),sum(p.download_times),sum(p.collection_times ...
- 开源纯C#工控网关+组态软件(四)上下位机通讯原理
一. 网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...
- LeetCode 381. Insert Delete GetRandom O(1) - Duplicates allowed (插入删除和获得随机数 常数时间 允许重复项)
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate ...
- 【SQL注入】mysql中information_schema详解
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问 ...
- [LeetCode] Reverse Pairs 翻转对
Reverse Pairs 翻转对 题意 计算数组里面下标i小于j,但是i的值要大于j的值的两倍的搭配的个数(也就是可能会有多种搭配):网址 做法 这道题显然是不允许使用最简单的方法:两次循环,逐次进 ...
- go 代码的调试---打印调用堆栈
本文介绍如何打印调用堆栈进行go代码的调试. 打印堆栈使用的runtime package中的Stack()函数 func Stack(buf []byte, all bool) int Stack ...
- App 组件化/模块化之路——使用SDK的思路进行模块化设计接口
在不久之前分享一篇<App 组件化/模块化之路——如何封装网络请求框架>文章介绍了我在项目中封装网络请求框架的思路.开发一个 App 会涉及到很多网络请求 API ,例如登录注册接口.用户 ...
- containing block和BFC
1.Box Box 是 CSS 布局的对象和基本单位,元素的类型和 display 属性,决定了这个 Box 的类型.比较常见的有: block-level box:display 属性为 block ...
- Problem V
Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that th ...