最近遇到了一个新的情景,需要将彩色图片转化为黑白图片,如果手动地去转化一张一张图片,那就真的太原始人了。

用Python,咱只需要几行代码就可以在几秒内转化上千张图片。而且,这个功能的用途相当广泛,不仅能使图片变得深邃,而且还可以简化一些复杂模型的数学计算,具体可见第三部分的分析。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。

输入以下命令安装我们所需要的依赖模块:

看到 Successfully installed xxx 则说明安装成功。

2.编写代码

首先写一下我们的彩色图转单色图的转化函数,接收两个参数,一个是输入文件的路径,一个是输出文件路径:

from PIL import Image

def colorful_to_single(input_img_path, output_img_path):

"""彩色图转单色图:param input_img_path: 图片路径:param output_img_path: 输出图片路径"""

img = Image.open(input_img_path)

# 转化为黑白图片

img = img.convert("L")

img.save(output_img_path)

(又是注释比代码长系列)

然后将你需要转化的图片放到一个文件夹中,我这里命名该文件夹为imgs,然后指定一个输出文件夹 output,如下:

dataset_dir = 'imgs'

output_dir = 'output'

# 获得需要转化的图片路径并生成目标路径

image_filenames = [(

os.path.join(dataset_dir, file_dir),

os.path.join(output_dir, file_dir)

) for file_dir in os.listdir(dataset_dir)]

# 转化所有图片

for path in image_filenames:

colorful_to_single(path[0], path[1])

这里比较难理解的可能是image_filenames,用到了列表推导式,即遍历所有dataset_dir里的文件:

for file_dir in os.listdir(dataset_dir)

并将其和我们指定的目录以路径的形式链接起来:

os.path.join(output_dir, file_dir)

最终生成一个数组,第一个元素是输入路径,第二个元素是输出路径:

image_filenames = [(

os.path.join(dataset_dir, file_dir),

os.path.join(output_dir, file_dir)

) for file_dir in os.listdir(dataset_dir)]

3.效果及用途

黑白效果就是这样的:

用途当然也有很多了,比如:

1.在深度学习分类图像的时候,如果并不需要考虑颜色的维度,可以先将图片转化为黑白图,简化运算复杂度。

2.黑白图片有的时候比彩色图片更具备冲击力,能够更加突出主题。

3.黑白图片有些时候也有美颜的作用,因为此时注意力的重点在于脸型,如果那个人的脸型特别好看,但是肤色比较差,这时候黑白照片就很有效果。

我们的文章到此就结束啦,如果你喜欢我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦

有任何问题都可以在下方留言区留言,我们都会耐心解答的!

​Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

python照片转彩色手绘_Python 批量转化彩色图片为黑白图片相关推荐

  1. python照片转彩色手绘_python实现图片彩色转化为素描

    本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...

  2. python将照片转换成手绘图片

    最近在b站学习数据分析时,看到了可以用numpy将照片转换成手绘效果.自己整上代码学习试了半天,调整了参数并看了效果.代码如下: # -*- coding: utf-8 -*- "" ...

  3. 手绘线条图画机器人_怎么把照片转换成手绘图画?怎么加水印?

    怎么把照片转换成手绘图画?附讲加水印​mp.weixin.qq.com 先来个转换前后的对比图 手机下载美图秀秀(一定要用手机下载,电脑端没有绘画机器人功能). 点开美图秀秀后,在页面右下方点击&qu ...

  4. 彩色手绘元宵节插画风素材图片

    元宵节,又称上元节.小正月.元夕或灯节,是中国的传统节日之一,时间为每年农历正月十五.正月是农历的元月,古人称"夜"为"宵",正月十五是一年中第一个月圆之夜,所 ...

  5. 彩色手绘情节人插画装饰素材,psd分层利于应用!

    眼瞅着万众瞩目的情人节了就要到了, 作为半个艺术工作者的设计师和艺术家们, 该怎么去设计这个浪漫情人节项目呢? 不知道如何在情人节发挥创意? 来看看优图网 www.uppsd.com 带来的设计师的情 ...

  6. 春节临近|传统彩色手绘年画素材,满满东方韵味

    年俗是指春节习俗."春节"原指正月初一立春日这一天,可中国的春节准备.庆祝活动早从腊月二十三就开始了,而且有很多年俗,过年期间要进行祭灶.守岁.拜年.祭财神.逛庙会等种种风俗活动, ...

  7. Python实现图像的手绘效果

      用Python实现手绘图像的效果 1.图像的RGB色彩模式   图像一般使用RGB色彩模式,即每个像素点的颜色由红®.绿(G).蓝(B)组成.RGB三个颜色通道的变化和叠加得到各种颜色,其中: R ...

  8. Python 采集87个手绘风格PPT模板

    源码下载链接:ppt.rar - 蓝奏云 PPT下载链接:https://pan.baidu.com/s/1HUAEe_-4IEV6ttOKC_VPuA?pwd=96px  提取码:96px 采集的参 ...

  9. 本周AI热点回顾:GAN压缩法使算力消耗不到1/9,开源生成器让你的照片秒变手绘日漫

    01 这个开源动漫生成器让你的照片秒变手绘日漫 尽管最近 2019 年的图灵奖颁给了计算机图形学.颁给了皮克斯 3D 动画,但很多人可能认为二维动漫更有意思一些.像宫崎骏.新海诚这些大师手绘下的动漫, ...

最新文章

  1. 软件研发成本估算过程之估算软件规模概述
  2. 回归任务中的评价指标MAE,MSE,RMSE,R-Squared
  3. 防御DDoS 攻击的方法
  4. nginx打开Last_modified
  5. WPS Office 2019 发布Linux 个人版
  6. java sftp 读取文件_Java代码获取SFTP服务器文件
  7. 微信小程序源码免费下载
  8. 基于51单片机的铂电阻PT100温度计proteus仿真
  9. Taro 3 正式版发布!京东推出开放式跨端跨框架方案,这些React、Nerv、Vue、jQuey都能支持上了!...
  10. 跨域问题的解决-gateway跨域接解决方案,使用CorsWebFilter
  11. 重启服务器进入grub界面
  12. H5拖拽地址-高德地图VUE版
  13. 爪哇国新游记之十六----泛型单链表类
  14. win7 ie8 oracle erp
  15. 管理:身先士卒是必要的手段
  16. 《HCY致血管病变机制的研究进展》阅读笔记
  17. 怎么把视频中的音乐给快速提取出来
  18. OpenCV Face Recognition山寨版
  19. Moto g 4G xt1079解锁root刷机
  20. 每天一个小程序——第 0005 题:批量修改图片尺寸,使之不超过 iPhone5 分辨率

热门文章

  1. 拿着 GitHub 标星 80k 的阿里性能优化笔记,把项目优化个遍
  2. php utf8生僻字,支持生僻字且自动识别utf-8编码的php汉字转拼音类_PHP
  3. 云服务器、VPS、虚拟主机三者之间的区别?
  4. dotnet 从入门到放弃的 500 篇文章合集
  5. 一些笔记本电脑的简单配置和价格
  6. Python爬虫之知乎采集工具
  7. 微信小程序发布详细步骤
  8. 微信小程序调用指纹验证
  9. 多多自走棋改动_多多自走棋版本前瞻 巫师上线后 羁绊改动集锦
  10. 由人眼追踪技术想到的