【发布时间】:2018-10-13 04:50:44
【问题描述】:
如何使用下面的to_grayscale(来自此site)函数将包含两个彩色图像的数组转换为包含两个灰度图像的数组。
重要提示:我不想要图像文件,我想要下面定义的数组image_g。
首先创建函数和示例图像:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['image.cmap'] = 'gray'
np.random.seed(0)
def to_grayscale(im):
tile = np.tile(np.c_[0.333, 0.333, 0.333], reps=(im.shape[0],im.shape[1],1))
return np.sum(tile * im, axis=2)
images = np.random.randint(0, 255, 24).reshape(2, 2, 2, 3)
images.shape
out> (2, 2, 2, 3)
看看第一张图片:
plt.imshow(images[1])
灰度查看:
plt.imshow(to_grayscale(images[1]))
如何将images 转换为灰度图像数组image_g?我想做这样的事情:
image_g = np.somefunction(to_grayscale, images)
images_g.shape
out> (2, 2, 2)
somefunction 是答案的占位符。
【问题讨论】: