2017-03-23 38 views
0

我試圖用MNIST圖像生成合成序列。每個圖像都是平坦的784.當我選擇其中五個時,我的數據是形狀(5,784)。 我想將它們中的5個水平連接起來,即我的最終圖像具有形狀(28,5 * 28)。我怎樣才能做到這一點?如何水平連接圖像與numpy?

我用np.reshape試過了,但是我能達到的最好的效果是垂直連接。

回答

2

爲了演示,讓我們說,我們要水平串聯三個圖像這是4×4,平放的16個元素:

a = np.arange(16) 
b = np.arange(16,32) 
c = np.arange(32,48) 

images = np.array([a,b,c]) # 3x16 

這只是準備樣本數據。現在,重塑並連接:

np.hstack(images.reshape(3,4,4)) 

結果是:

array([[ 0, 1, 2, 3, 16, 17, 18, 19, 32, 33, 34, 35], 
     [ 4, 5, 6, 7, 20, 21, 22, 23, 36, 37, 38, 39], 
     [ 8, 9, 10, 11, 24, 25, 26, 27, 40, 41, 42, 43], 
     [12, 13, 14, 15, 28, 29, 30, 31, 44, 45, 46, 47]]) 

在原來的情況下,表達的是:

np.hstack(stuff.reshape(5,28,28)) 

事實上形狀(28140)。

+0

非常感謝你 – Pepe