文档章节

使用Python PIL模块处理图片

唐佳
 唐佳
发布于 2017/08/10 17:45
字数 526
阅读 108
收藏 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) 教程】

 

© 著作权归作者所有

共有 人打赏支持
唐佳
粉丝 3
博文 30
码字总数 18349
作品 0
苏州
前端工程师
加载中

评论(1)

秦maoren
秦maoren
��
使用python PIL库实现简单验证码的去噪

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

u012067766
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
0
0
第四章 背景案例

从本章开始引入一个较为真实的背景案例,以演示Maven使用的真实场景。 简单的账户注册服务,作为一个用户,注册账户的时候往往需要做以下的事情: 提供一个未被使用的账号ID 提供一个未被使用...

浣雨笑笑生
2015/09/14
35
0
Yii 2.0开发一个仿京东商城平台

第1章 课程简介 介绍了课程内容、背景和案例展示。 第2章 项目的准备工作 介绍了如何使用PHP依赖管理工具Composer安装Yii2框架,模拟配置真实企业开发项目运行环境和编辑器。 第3章 项目前台...

15543595340
05/19
0
0
vue-cli 自定义路径别名 assets和static文件夹的区别 --save-dev和--save的区别

写在前面: 这是一篇vue-cli的几个小知识点简单介绍,适用于刚接触vue-cli脚手架以及对此方面并不太了解的同学,大佬们绕道。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,...

OB丶Koro1
2017/09/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
25分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
27分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
28分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
今天
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部