文档章节

使用Python PIL模块处理图片

唐佳
 唐佳
发布于 2017/08/10 17:45
字数 526
阅读 83
收藏 2
点赞 0
评论 1

首先,最重要的是下载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

java图片压缩策略说明

使用java原生或者使用第三方的jar来生成。 存在的问题: 原生效率慢,并且和代码耦合性太高,支持格式少,其他没太多尝试 使用thumbnailator.jar 第三方。效率不高,压缩完的图片质量太低。支...

不正经啊不正经 ⋅ 2014/12/27 ⋅ 2

第四章 背景案例

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

浣雨笑笑生 ⋅ 2015/09/14 ⋅ 0

Yii 2.0开发一个仿京东商城平台

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

15543595340 ⋅ 05/19 ⋅ 0

基于OpenCV的iOS图像处理

OpenCV for iOS 关于图片处理 随着科技的发展,AI、机器学习、AR、VR等已经逐渐走进生活,模式识别、图像捕捉、图片拼接等已经成为其中的重要环节。因此,图像处理技术在未来会被移动端广泛使...

无忌不悔 ⋅ 2017/09/06 ⋅ 0

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

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

OB丶Koro1 ⋅ 2017/09/19 ⋅ 0

教你如何快速实现一个图片爬虫

什么是爬虫? 如果是没有接触过爬虫的人可能会有些许疑惑,爬虫是个什么东西呢?其实爬虫的概念很简单,在互联网时代,万维网已然是大量信息的载体,如何有效地利用并提取这些信息是一个巨大的...

SylvanasSun ⋅ 2017/09/22 ⋅ 0

用nodejs自动化保存每日bing美图?

特别喜欢bing的每日美图,所以每天日常都是去bing保存下每日更新的那张图片,然后在一次朋友圈回复下---“你为什么不搞成自动化,每天保存不累???”,开始了这次的代码之旅。先贴上githu...

Yard ⋅ 2016/12/09 ⋅ 0

elixir官方入门教程 Erlang库

Erlang库 二进制模块 格式化文本输出 加密模块 图片模块 Erlang长期存储 数学模块 队列模块 随机模块 压缩模块 Elixir提供了与Erlang库优秀的互用性.事实上,Elixir不鼓励简单地包装Erlang库,...

ljzn ⋅ 2016/08/06 ⋅ 0

XUtils3框架的基本使用方法

今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的API语法进行的演示。相信大家对这个框架也都了解过,下面简单介绍下XUtils3的一些基本知识。 XUtils3一共有4大功能:注解模...

陈小默 ⋅ 2016/04/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 25分钟前 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 28分钟前 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 29分钟前 ⋅ 0

IT行业的变革就像世界杯德国对战墨西哥一样难以预测[图]

最近在观看世界杯,尤其是昨天的比赛,上一届卫冕冠军德国队居然0:1告负墨西哥,这创造了历史,首先是墨西哥从来没赢过德国队,其次是德国队36年来首站没输过,再差也是打平,而这次,德国队...

原创小博客 ⋅ 48分钟前 ⋅ 0

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 58分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部