Python PIL库图片灰化处理
2020年4月4日,是个特殊的日子,我们看到朋友圈很多灰化的图片.今天我们就聊聊图片灰度处理这事儿.
PIL的基本概念:
PIL中所涉及的基本概念有如下几个:通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和滤波器(filters)。
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:[PIL](http://pythonware.com/products/pil/)。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库[pillow](http://python-pillow.org/),pillow号称是`friendly fork for PIL`,其功能和PIL差不多,但是支持python3。
Python可以处理图片的库很多:Matplotlib,OpenCV,TensorFlow,PIL等.我们今天的主角是:PIL(Python Imaging Library).我们的环境是Python3.8.2
安装
pip install Pillow
编码
import os try: from PIL import Image except ImportError as e: print(e) print('pip install Pillow') os._exit(0) img_url = '/Users/rainbird/Desktop/a.jpg' img_out = img_url.replace('.jpg','_gray.jpg') if not os.path.exists(img_url): print(f'file not found: {img_url}') os._exit(0) print(f''' image in:{img_url} image out:{img_out} '''.strip()) img_org = Image.open(img_url) img_gray= img_org.convert('L') img_gray.save(img_out) print('done')
代码不长,主要是:
导入库并判断了异常;
指定处理的文件,个人运行的时候要修改一下;
转换完会产生同名_gray的文件
目前只处理了.jpg
运行
image in:/Users/rainbird/Desktop/a.jpg image out:/Users/rainbird/Desktop/a_gray.jpg done
效果
总结
到此这篇关于Python PIL库图片灰化处理的文章就介绍到这了,更多相关Python 图片灰化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
前言 最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限.可利用的字体类型比较少,需要安装Freetype扩展,比较复杂.而且不能用putText函数输出中文,否则就会出现乱码的情况.只好选择使用Python PIL函数库对照片进行处理,利用Python自带的PIL库扩展图片大小给图片加上文字描述,大多都是库函数调用,只是给定图片宽度后计算文字所需行数的代码需要写. 代码比较丑,but it works. 代码示例 #!/usr/bin/env
-
python安装pil库方法及代码
安装PIL 在Debian/Ubuntu Linux下直接通过apt安装: $ sudo apt-get install python-imaging Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好: $ sudo easy_install PIL 如果安装失败,根据提示先把缺失的包(比如openjpeg)装上. Windows平台就去PIL官方网站下载exe安装包. 操作图像 来看看最常见的图像缩放操作,只需三四行代码: import I
-
Python中使用PIL库实现图片高斯模糊实例
一.安装PIL PIL是Python Imaging Library简称,用于处理图片.PIL中已经有图片高斯模糊处理类,但有个bug(目前最新的1.1.7bug还存在),就是模糊半径写死的是2,不能设置.在源码ImageFilter.py的第160行: 所以,我们在这里自己改一下就OK了. 项目地址:http://www.pythonware.com/products/pil/ 二.修改后的代码 代码如下: 复制代码 代码如下: #-*- coding: utf-8 -*- from PIL
-
python使用pil库实现图片合成实例代码
本文研究的主要是python PIL实现图片合成的相关内容,具体介绍如下,分享实例代码. 在项目中需要将两张图片合在一起.遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明png的合成. 相关API见 http://pillow.readthedocs.io/en/latest/reference/Image.html 第一种情况,直接将两张图片合在一起就可以了.如下图所示,将两张图片合在一起 += 详细代码 from PIL import Image #加载底图 base_img
-
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
本文实例讲述了Python实现批量修改图片格式和大小的方法.分享给大家供大家参考,具体如下: 第一种方法用到opencv库 import os import time import cv2 def alter(path,object): result = [] s = os.listdir(path) count = 1 for i in s: document = os.path.join(path,i) img = cv2.imread(document) img = cv2.resize(
-
Python中用PIL库批量给图片加上序号的教程
女友让我给她论文的图片上加上字母序号,本来觉得是个很简单的事情,但那个白底黑字的圆圈序号却难住了我, 试了几个常用的软件,都不行. 后来用 PS + 动作,倒是能搞出来,不过也不容易,正好那天没搞完,于是拿回自己家做,但我的电脑上又没有 PS, 所以就用 python 实现了. 效果图 这里用的图片全是 240X240 的,按文件名的首字母作为序号,PIL 虽然可以计算文字的尺寸,但类似 D 这样的字符依然不能处于圆圈的正中,所以还对个别字符做了偏移设置,本来想用 aggdraw 画圆圈的,能平
-
基于Python的PIL库学习详解
摘要 对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础.在Python中,有一个优秀的图像处理框架,就是PIL库,本博文会分模块,介绍PIL库中的各种方法,并列举相关例子. 参考:http://pillow-cn.readthedocs.io/zh_CN/latest/reference/index.html 网站上列举了PIL库中所有的模块和方法,但是没有相关的例子,博文中会尽量给出相关的例子和进行简单的讲解. 基于的环境:Win10,P
-
Python PIL库图片灰化处理
2020年4月4日,是个特殊的日子,我们看到朋友圈很多灰化的图片.今天我们就聊聊图片灰度处理这事儿. PIL的基本概念: PIL中所涉及的基本概念有如下几个:通道(bands).模式(mode).尺寸(size).坐标系统(coordinate system).调色板(palette).信息(info)和滤波器(filters). PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了
-
使用python PIL库实现简单验证码的去噪方法步骤
字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的. 想要识别验证码,收集足够多的样本后,首先要做的就是对验证码原始图片进行处理,对验证码识别分类之前,一般包括:将彩色图片转换成灰度图.将灰度图二值化和去除噪点三个基本过程.这里仅以比较简单的验证码为例,介绍一下如何通过python的PIL库对图片去噪. 首先看一下未经处理的验证码图片: 对图片处理主要使用了PIL库的Image类. 1.彩色图片转换成灰度图 首先使用Image的open方法打开上面的图片,可
-
win10下python3.8的PIL库安装
1.找到Python的位置 我的是在 C:\Users\admin\AppData\Local\Programs\Python\Python38 AppData这个文件是个隐藏文件需要查询得先把隐藏文件显示出来 win10里面在Microsoft store 下载的Python我只找到了exe文件,所以就卸载然后重新下载过. 去官网下载的时候下载速度极其慢,可以去这下: https://python123.io/download 2.PIL库的安装 PIL库:具有强大的图像处理能力 在上面找到的
-
win10下python3.8的PIL库安装过程
1.找到Python的位置 我的是在 C:\Users\admin\AppData\Local\Programs\Python\Python38 AppData这个文件是个隐藏文件需要查询得先把隐藏文件显示出来 win10里面在Microsoft store 下载的Python我只找到了exe文件,所以就卸载然后重新下载过. 去官网下载的时候下载速度极其慢,可以去这下: https://python123.io/download 2.PIL库的安装 PIL库:具有强大的图像处理能力 在上面找到的
-
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法.分享给大家供大家参考.具体分析如下: 这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照颜色搜索了. 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通
-
Python使用PIL库实现验证码图片的方法
本文实例讲述了Python使用PIL库实现验证码图片的方法.分享给大家供大家参考,具体如下: 现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信大家都遇到过. 现在就给出用Python的PIL库实现验证码图片的代码.代码中有详细注释. #!/usr/bin/env python #coding=utf-8 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _l
-
Python利用Pillow(PIL)库实现验证码图片的全过程
前言 Pillow库有很多用途,本文使用Pillow来生成随机的验证码图片. Pillow的用法参考:https://www.jb51.net/article/196007.htm 验证码是随机的,使用Python内置的random库来生成随机的颜色和随机的字符. random的用法参考:https://www.jb51.net/article/196955.htm 一.验证码图片的效果 # coding=utf-8 import random from PIL import Image, Im
随机推荐
- javascript 时间比较实现代码
- php正则替换处理HTML页面的方法
- 防止shell脚本重复执行的代码
- Javascript 设计模式(二) 闭包
- php实现的xml操作类
- 一个用js实现的页内搜索代码
- 详解C++编程中对二进制文件的读写操作
- c# 开机启动项的小例子
- JS实现横向与竖向两个选项卡Tab联动的方法
- javascript+dom树型菜单类,希望朋友们一起进步
- C#窗口实现单例模式的方法
- Android中ProgressDialog的dismiss()与cancel()方法的区别
- 十种让你短命的生活方式
- 自定义BufferedReader的实例
- js 提取某()特殊字符串长度的实例
- Java开发中的volatile你必须要了解一下
- iOS实现通过按钮添加和删除控件的方法
- PHP析构函数destruct与垃圾回收机制的讲解
- MySQL视图原理与基本操作示例
- MySQL8新特性:持久化全局变量的修改方法