「Python|图像处理|场景案例」如何将彩色图片转成黑白的灰度图片?

Table of Contents

场景描述

假设我们现在有如下一张彩色图片:
在这里插入图片描述

我们希望将它转换成黑白图片,如下:
在这里插入图片描述

解决方案

将彩色图片变成黑白图片,其实就是需要去掉图片的颜色,我们使用的方法是,将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)

具体代码

1from skimage.io import imread, imsave 2from skimage.color import rgb2lab, lab2rgb 3 4image_using_RGB = imread("D:/彩色图片.png") 5image_using_LAB = rgb2lab(image_using_RGB) 6image_using_LAB[..., 1] = image_using_LAB[..., 2] = 0 7result = lab2rgb(image_using_LAB) 8imsave("D:/黑白图片.png", result)

彩色转黑白的操作非常简单,快去试试吧~

好书推荐:

好课推荐:

写文不易,如果对你有帮助的话,来一波点赞、收藏、关注吧~👇

Mastodon