文档章节

使用Python PIL模块处理图片

唐佳
 唐佳
发布于 2017/08/10 17:45
字数 526
阅读 1.1K
收藏 2

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

首先,最重要的是下载PIL模块。

window使用pip intall PIL下载不下来的可以可在官网下载:

http://pythonware.com/products/pil/

很遗憾,我用的windows系统,并且一直在努力学习新版本的Python 3.X,所以出现了以下这种情况。

不过我找到了解决方法,以下:

pip install pillow

PIL模块在python3.X已经替换为pillow模块(文档:http://pillow.readthedocs.org/en/latest/),直接使用pip3 install pillow即可安装模块,导入时使用from PIL import Image.

下载的过程会非常艰难,多次连不上或者找不到,不过多试几次就好了,没有耐心的同志可以自己找源文件下载。

 

下面进入正文(代码是抄的,自己执行了一下,发现还挺好用):

# coding=utf8

from PIL import Image

#读取底片

imp = Image.open('bg_div.png')

#读取要粘贴的图片 RGBA模式

imq = Image.open('下载 (2).png')

#分离通道
r,g,b,a = imq.split()

#粘贴
imp.paste(imq,(0, 0, imp.size[0], imp.size[1]),mask = a)

# 显示:
imp.show()

# 保存
imp.save("myimg.png")

图片处理前:

处理后:

难点:

RGBA透明图片的处理,一般教程中都只提到在底图上贴一张图片,然后保存即可。然而对于透明的png图片,alpha通道不会被贴上去,保存后丢失透明效果。

重点:

虽然只是用到了PIL模块里面的冰山一角,但是还是需要自己努力的去全面的学习这个模块的知识,也许哪天会用到。

 

参考资料:

  1. http://www.cnblogs.com/python-nameless/p/6283855.html【Python3.X可以使用pillow代替PIL】
  2. http://pythonware.com/products/pil/【Python 2.X在windows系统可以在此链接下载】
  3. https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000【廖雪峰大神关于此的教程】
  4. http://blog.csdn.net/robinzhou/article/details/6960345【使用python处理RGBA格式的透明图片的粘贴(重要)】
  5. http://effbot.org/imagingbook/introduction.htm【PIL官方文档】
  6. http://blog.csdn.net/yjwx0018/article/details/52852067【PIL (Python Imaging Library) 教程】

 

© 著作权归作者所有

唐佳
粉丝 4
博文 31
码字总数 18548
作品 0
苏州
前端工程师
私信 提问
加载中

评论(1)

秦maoren
秦maoren
��
使用Anaconda3配置多版本Python虚拟开发环境

有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的...

osc_45omoec3
2018/01/24
8
0
使用python PIL库实现简单验证码的去噪

首先要感谢一下字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的。 想要识别验证码,收集足够多的样本后,首先要做的就是对验证码原始图片进行处理,对...

u012067766
2018/04/20
0
0
使用python PIL来生成缩略图

#!/usr/bin/env python -- coding: utf-8 -- import osfrom PIL import Imageimport redef imagesizeoff(rootDir): for lists in os.listdir(rootDir): #需要什么格式的图片自己手动改改就好......

MingjunYang
2014/04/16
4.5K
0
使用Python PIL库中的Image.thumbnail函数裁剪图片

     今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了。那么,我们如何使用python中强大的PIL...

osc_44jaxl0s
2019/02/13
2
0
Python图像处理库:Pillow 初级教程

原文链接 Pillow由PIL而来,所以该导入该库使用import PIL 本文相关的代码:https://github.com/445141126/pillowexample Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中。可...

BeautyJingJing
03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:Spring boot熔断

一、介绍 1、熔断的目的:是为了保证服务高可用,不能因为系统中的一个小服务不可用,从而导致整个系统崩溃。 2、熔断的原理:对于使用相关注解的类或者方法,系统会监控其错误,如果多次出现...

浮躁的码农
26分钟前
16
0
抽象工厂

1. 介绍 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式,是工厂方法模式的升级版,在有多个业务品种、业务分类时,...

steven-黄笑笑
32分钟前
22
0
Autoruns显示windows系统所有启动项

如题,可以显示所有启动项,然后把不需要的启动项都取消勾选即可。而对于“服务”项,建议不要在里面去掉勾选,因为这样会禁止服务,容易出错。我通常都会打开电脑的”服务“,按启动类型排序...

ethanleellj
33分钟前
11
0
多线程基础学习

线程和进程有区别? 进程=加载上下文+执行程序+保存上下文 进程属于资源分配的最小单位,线程属于执行任务的最小单位。 线程6种状态: 1、New 尚未启动的线程的线程状态。 2、Runnable 可运行...

javazyw
今天
30
0
英文对“ Big O”符号的解释是什么? - What is a plain English explanation of “Big O” notation?

问题: 我希望尽可能少用正式的定义和简单的数学方法。 解决方案: 参考一: https://stackoom.com/question/22l0/英文对-Big-O-符号的解释是什么 参考二: https://oldbug.net/q/22l0/What...

javail
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部