千家信息网

如何利用Python将彩色图像转为灰度图像

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,小编给大家分享一下如何利用Python将彩色图像转为灰度图像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一种方法Pyt
千家信息网最后更新 2025年11月16日如何利用Python将彩色图像转为灰度图像

小编给大家分享一下如何利用Python将彩色图像转为灰度图像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

第一种方法

Python的cv2库中自带彩色转灰度的方法,而且非常简单,代码就9行,核心代码就1行。

大题思路就是先读取一张彩色图片,然后在窗口中显示出来,再然后就让cv2处理一下,转换成灰度图像,这时候它是个二维的灰度矩阵,所以,我们想保存得先将它从array转成image,最后在另一个窗口中显示出来,为了避免窗口一闪而过,我们需要加上waitKey(0)这一句。

import cv2from PIL import Image#读取彩色图像color_img = cv2.imread(r'dataset3/beauty.jpg')#在窗口中显示图像,该窗口和图像的原始大小自适应cv2.imshow('original image',color_img)#cvtColor的第一个参数是处理的图像,第二个是RGB2GRAYgray_img=cv2.cvtColor(color_img,cv2.COLOR_RGB2GRAY)#gray_img此时还是二维矩阵表示,所以要实现array到image的转换gray=Image.fromarray(gray_img)#将图片保存到当前路径下,参数为保存的文件名gray.save('gray.jpg')cv2.imshow('Gray Image',gray_img)#如果想让窗口持久停留,需要使用该函数cv2.waitKey(0)

第二种方法

PIL中的Image库也自带转灰度图像的方法,然后再用pyplot显示在画布上就行了。一共8行代码,核心代码就1行。

from PIL import Imagefrom matplotlib import pyplot as pltcolor_img=Image.open('dataset3/beauty.jpg')gray_img=color_img.convert('L')plt.figure('beauty')plt.imshow(gray_img,cmap='gray')plt.axis('off')plt.show()

python 批量将图片转为灰度图

from PIL import Imageimport ospath = 'F:/QUEXIANJIANCESHIYAN/posdata'file_list = os.listdir(path)for file in file_list:    I = Image.open(path+"/"+file)    L = I.convert('L')    L.save(path+"/"+file)    #print(file)

以上是"如何利用Python将彩色图像转为灰度图像"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0