为了账号安全,请及时绑定邮箱和手机立即绑定

将 RGB numpy 矩阵转换为灰度 martix

将 RGB numpy 矩阵转换为灰度 martix

DIEA 2021-12-08 10:25:39
我想在不直接打开图像文件的情况下将 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)

结果:


前:

//img1.sycdn.imooc.com//61b017c20001f5d610920852.jpg

平均后

//img1.sycdn.imooc.com//61b017d10001ec8510840858.jpg

查看完整回答
反对 回复 2021-12-08
  • 1 回答
  • 0 关注
  • 289 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信