问题:
如何使用高效地将 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中文网其他相关文章!