首页 >后端开发 >Python教程 >如何在Python中高效地将RGB图像转换为灰度图像?

如何在Python中高效地将RGB图像转换为灰度图像?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-04 19:31:16909浏览

How to Efficiently Convert RGB Images to Grayscale in Python?

在 Python 中将 RGB 图像转换为灰度

问题:

如何使用高效地将 RGB 图像转换为灰度Python?

问题描述:

尝试使用 matplotlib 中的 imread 函数将 RGB 图像转换为灰度图像,但遇到可用操作的限制。手动实施 RGB 到灰度转换的效率很低。为这种常见的图像处理任务寻求专业的内置解决方案。

答案:

使用枕头:

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')

使用 Matplotlib 和 RGB 转灰度公式:

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中高效地将RGB图像转换为灰度图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn