我想在不直接打开图像文件的情况下将 rgb 矩阵转换为灰度 martix,因为在 python 中这个过程很慢?
1 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
一般来说,如果你想处理它,你总是必须将图像加载到 python 程序中。如果您不想使用图像处理库,则可以使用 numpy 完成所有操作(例如 OpenCV 无论如何都可以使用 numpy 数组,所以我将使用 OpenCV)
如果你想使用纯粹的矩阵(numpy),你可以用于保存和加载
matrix = np.load('image.npy')
np.save('grayscale.npy',grayscale)
用于加工:
假设您有具有此 RGB 形状的 numpy 矩阵:
>>> matrix.shape
(1000, 1000, 3)
为了在不进行任何“图像处理”的情况下将其转换为灰度,您可以简单地在 3rd 上做 MEAN。维度(颜色维度)
grayscale = matrix.mean(axis=-1) # you can use axis=2 or as Nils Werner pointed out: axis=-1 which is more general
>>> grayscale.shape
(1000,1000)
结果:
前:
平均后
添加回答
举报
0/150
提交
取消