我正在用 Python 处理图像,需要编写一个可以同时处理彩色和灰度图像的程序。他们是 numpy 数组
颜色形状:(512,512,3)
灰度形状:(512,512)
现在我必须遍历图像的每个通道,即返回:
For Color: im[:,:,0], im[:,:,1], im[:,:,2]
For Grayscale: im[:,:]
如何在没有任何 if 条件的情况下以相同的格式编写它们?我尝试了 im[:,:,0] 的灰度,但它超出了索引的范围。
我不确定这是否有用,但numpy
提供了插入新轴的能力:
im_new = im_old[:,:,np.newaxis]
据我了解,这使得它与anyim_new[i,j,k]
相同。im_old[i,j]
k
(另请注意,这np.newaxis
只是 的别名None
)