本文主要介绍如何使用python将彩色图片转换成黑白的灰度图片。
场景描述
假设我们现在有如下一张彩色图片:
我们希望将它转换成黑白图片,如下:
解决方案
将彩色图片变成黑白图片,其实就是需要去掉图片的颜色,我们使用的方法是,将RGB(Red, Green, Blue)模式的图片变成LAB(lightness, green-red, blue-yellow)模式的图片,然后将LAB模式图片中代表颜色的"A"和"B"的值置为0,就是实现了去除颜色。
- 我们将用到
python
的第三方库scikit-image
,所以需要先运行如下命令进行安装:python -m pip install scikit-image
- (导入需要使用的方法)
- 用于读取和保存图片数据的方法:
from skimage.io import imread, imsave
- 用于处理图片颜色模式的方法:
from skimage.color import rgb2lab, lab2rgb
- 用于读取和保存图片数据的方法:
- 读取图片:
image_using_RGB = imread("D:/彩色图片.png")
- 将
RGB
颜色模式的图片转成LAB
模式:image_using_LAB = rgb2lab(image_using_RGB)
- 将
LAB
模式的图片颜色通道值置为0,就实现了去除颜色:image_using_LAB[...,1] = image_using_LAB[...,2] = 0
- 将
LAB
模式的图片转回RGB
模式:result = lab2rgb(image_using_LAB)
- 保存图片:
imsave("D:/黑白图片.png", result)
具体代码
from skimage.io import imread, imsave
from skimage.color import rgb2lab, lab2rgb
image_using_RGB = imread("D:/彩色图片.png")
image_using_LAB = rgb2lab(image_using_RGB)
image_using_LAB[..., 1] = image_using_LAB[..., 2] = 0
result = lab2rgb(image_using_LAB)
imsave("D:/黑白图片.png", result)
彩色转黑白的操作非常简单,快去试试吧~
好书推荐:
好课推荐:
写文不易,如果对你有帮助的话,来一波点赞、收藏、关注吧~👇