2013-02-15 89 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的別名)