2015-12-03 165 views
1

我學習圖像卷積,以處理邊緣的擴展來看,我想重複第一個和最後一個行/原始數組(中心)的列是這樣的:創建numpy的陣列

1 1 2 3 3 
1 [1 2 3] 3 
4 [4 5 6] 6 
7 [7 8 9] 9 
7 7 8 9 9 

(在角的值對應於所述對角元素。)

我將遍歷原始陣列的每個像素,並使用上面的陣列,以提取它的3×3的鄰居。所以這裏是我的問題:是否有可能生成對應於此數組的視圖,以便我不需要在內存中存儲新的(n + 2)x(m + 2)數組?

回答

1

沒有辦法做到這一點,因爲沒有辦法讓步伐工作。對於沒有查看的解決方案,numpy.pad可以完成這項工作。您正在使用的信號處理例程也可以讓您指定填充類型。

+0

感謝您的快速回答!我知道'scipy.signals.convolve2d'和它的「邊界」參數,但我需要自己編寫它。我將使用'numpy.pad',如果內存成爲問題,我將在我的循環中手動處理邊緣。 – John