【问题标题】:Polymorphic treating of 2D and 3D numpy array2D和3D numpy数组的多态处理
【发布时间】:2013-02-16 01:56:24
【问题描述】:

我正在使用 Python 处理图像,需要编写一个可以同时处理彩色和灰度图像的程序。它们是 numpy 数组

颜色形状:(512,512,3)

灰度形状:(512,512)

现在我必须遍历图像的每个通道,即返回:

For Color: im[:,:,0], im[:,:,1], im[:,:,2]

For Grayscale: im[:,:]

如何在没有任何 if 条件的情况下以相同的格式编写它们?我尝试了 im[:,:,0] 的灰度,但它超出了索引的范围。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    我不确定这是否有用,但numpy 提供插入new axes 的功能:

    im_new = im_old[:,:,np.newaxis]
    

    据我了解,这使得im_new[i,j,k] 与任何kim_old[i,j] 相同。

    (还要注意np.newaxis 只是None 的别名)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 2012-12-09
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多