首页 > 后端开发 > Python教程 > 如何在 Python 中使用 Pillow 和 Matplotlib 将 RGB 图像转换为灰度图像?

如何在 Python 中使用 Pillow 和 Matplotlib 将 RGB 图像转换为灰度图像?

Mary-Kate Olsen
发布: 2024-12-01 07:49:10
原创
504 人浏览过

How to Convert RGB Images to Grayscale in Python Using Pillow and Matplotlib?

Python 中将 RGB 图像转换为灰度

在图像处理中,将 RGB 图像转换为灰度是常见的操作。虽然存在多种方法,但在 NumPy 或 Matplotlib 等功能强大的库中找到内置方法可以简化您的任务。

Pillow Library:

一个简单的解决方案是使用Python图像库(Pillow)。它提供了一种将 RGB 图像转换为灰度的便捷方法:

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')
登录后复制

此代码读取 RGB 图像,将其转换为灰度,并保存结果图像。

使用 Matplotlib使用公式:

另一种方法是使用公式 Y' = 0.2989 R 0.5870 G 0.1140 B 将 RGB 图像转换为灰度图像。使用 Matplotlib,您可以将其实现为:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])

img = mpimg.imread('image.png')     
gray = rgb2gray(img)    
plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1)
plt.show()
登录后复制

此代码加载图像,使用公式将其转换为灰度,并显示灰度图像。

以上是如何在 Python 中使用 Pillow 和 Matplotlib 将 RGB 图像转换为灰度图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板