【图片操作】批量转换黑白图片

简介: 关于今天的内容,我不知道有什么情况需要将图片批量转换称黑白图片。因此本文的主题是对图片的的简单操作。 在Python3中,有一个第三方的Pillow库可以用来操作图片,使用非常简单,下面完美来具体看看。

一、前言

关于今天的内容,我不知道有什么情况需要将图片批量转换称黑白图片。因此本文的主题是对图片的的简单操作。 在Python3中,有一个第三方的Pillow库可以用来操作图片,使用非常简单,下面完美来具体看看。

二、Pillow的使用

1、安装

Pillow的安装很简单,我们只需要执行下面的语句即可:

pip install pillow
复制代码

安装完成后可以通过下面语句导入:

import PIL
复制代码

这里为了适配python2的PIL库,所以导入时是用import PIL

2、读取和显示

Pillow读取图片和显示图片的操作非常简单,具体代码如下:

# 导入PIL的子模块Image
from PIL import Image
# 读取图片
img = Image.open("test.jpg")
# 显示图片
img.show()
复制代码

这里Image是Pillow的一个子模块,其中Image.open函数可以用于读取图片。该函数会返回一个特殊的Image对象,我们可以使用这个对象的一些方法。其中img.show方法就是用于显示图片的方法。

2、转换称黑白图片

我们可以调用图片的convert函数转换图片的模式,这里的模式有RGB、ARGB、GRAY等,其中GRAY就是灰度图片,也就是我们常说的黑白图片,具体代码如下:

from PIL import Image
img = Image.open("test.jpg")
# 转换称黑白图片
gray = img.convert("L")
# 将黑白图片保存
gray.save("11.jpg")
复制代码

下面是转换后的效果:

网络异常,图片无法展示
|
这里我们给 convert传了一个参数“L”,就是转换称灰度图的意思。另外我们还调用 save方法保存图片。

三、批量转换黑白图片

这里我们结合os模块,将指定目录下的图片转换称黑白图片。在生成图片前,我们需要创建一个文件夹:

import os
if not os.path.exists("test_gray"):
    os.mkdir("test_gray")
复制代码

执行上面代码,我们就可以在当前目录下创建一个test_gray文件夹。下面我们就可以获取所有图片的路径了:

dirname = "test"
# 获取图片的路径列表
imgs = [os.path.join(dirname, i) for i in os.listdir(dirname)]
复制代码

这里的代码可以等价于:

imgs = []
dirname = "test"
for img in os.listdir(dirname):
    path = os.path.join(dirname, img)
    imgs.append(path)
复制代码

这里就不解释了。然后就是转换成黑白图片的操作了,完整代码如下:

import os
from PIL import Image
if not os.path.exists("test_gray"):
    os.mkdir("test_gray")
dirname = "test"
imgs = [os.path.join(dirname, i) for i in os.listdir(dirname)]
for idx, img in enumerate(imgs):
    if img.endswith("jpg") or img.endswith("png") or img.endswith("jpeg"):
        img = Image.open(img)
        gray = img.convert("L")
        gray.save("test_gray/" + str(idx) + ".jpg")
复制代码

运行上面代码就可以实现图片转换成黑白图片的操作了。

目录
相关文章
PS - 批量处理(以批量修改图片像素为例)
PS - 批量处理(以批量修改图片像素为例)
3814 0
PS - 批量处理(以批量修改图片像素为例)
|
6月前
|
存储 Python
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
|
7月前
|
文字识别 测试技术 数据安全/隐私保护
案例:批量区域识别内容重命名,批量识别扫描PDF区域内容识别重命名,批量识别图片区域内容重命名图片修改图片名字,批量识别图片区域文字并重命名,批量图片部分识别内容重命文件,PDF区域内容提取重命名
该内容介绍了如何使用区域识别重命名软件高效整理图片,例如将图片按时间及内容重命名,适用于简历、单据等识别。文中提供了软件下载链接(百度云盘和腾讯网盘),并列出软件使用的几个关键条件,包括文字清晰、文件名长度限制等。示例展示了银行单据和公司工作单据的识别情况。文章还提及OCR技术在图片文字识别中的应用,强调了识别率、误识率和用户友好性等评估指标。如有类似需求,读者可留言或下载软件测试,并提供图片以获取定制的识别方案。
357 2
|
7月前
分享:批量多目录图片如何转换PDF,一次性转换多级目录批量的PDF的转换,合并,输出另存等问题,图片转PDF文件,批量图片转PDF文件,多级目录的图片转PDF文件,并且保存到不同的地方,全部搞定
本文介绍了如何高效地将图片转换为PDF,包括单张、多张及多级目录下的图片转换和合并。提供了软件下载链接(百度网盘、腾讯云盘),软件操作简便,支持保存原目录或自定义新目录。转换选项包括单个文件、多个文件夹单独转换以及合并转换。用户可通过双击路径访问源图片和转换结果。该工具特别解决了多级目录图片批量转换的难题,实现保存地址的自由设定,满足不同业务需求。
452 0
第6章 利用数组处理批量数据
第6章 利用数组处理批量数据
69 0
|
7月前
|
SQL C# 数据库
C# 读取多条数据记录导出到 Word 标签模板
C# 读取多条数据记录导出到 Word 标签模板
|
定位技术
输出不同像元大小的批量重采样方法
本文主要介绍的内容是一种基于ArcGIS ModelBuilder输出不同像元大小的批量重采样方法
176 0
|
Python
【图片操作】批量生成缩略图
在我们日常生活中,缩略图很大程度减少了我们内存的使用。如果我们看一张图片就必须加载完成后才能看,那么我们就会发现很多应用都变慢了很多,而且流量也消耗的很快。今天我们就来看看Python生成缩略图的操作。
393 0
【图片操作】混合图片
混合图片的方式有很多种,我们先来看看如何通过混合图片的通道来实现图片混合。
153 0