2013-02-15 91 views
0

我正在使用Python中的图像,并且需要编写一个可以处理彩色和灰度图像的程序。他们numpy的阵列颜色的二维和三维numpy阵列的多态处理

形状:(512,512,3)

灰度的形状:(512512)

现在我通过图像的每个通道都循环,即回报:

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

For Grayscale: im[:,:] 

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

回答

1

我不知道这是有帮助或没有,但numpy提供插入new axes的能力:

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

按我的理解,这使得它,以便im_new[i,j,k]相同im_old[i,j]任何k

(也请注意,np.newaxis只是None的别名)