我從圖像的一個numpy數組開始。將尺寸添加到Numpy陣列
In[1]:img = cv2.imread('test.jpg')
形狀是您對640x480 RGB圖像的預期結果。
In[2]:img.shape
Out[2]: (480, 640, 3)
但是,我擁有的這個圖像是一個100幀長的視頻幀。理想情況下,我希望有一個包含此視頻中所有數據的單個陣列,以便img.shape
返回(480, 640, 3, 100)
。
什麼是最好的方式添加下一幀 - 也就是說,下一組圖像數據,另一個480 x 640 x 3陣列 - 我的初始數組?
我認爲這是要走的路。如果使用串聯,則每次添加時都需要將內存中的數組移動到內存中。對於100幀應該不重要,但如果你想要去更大的視頻。順便說一句,我會用幀的數量作爲第一維度,所以有一個(100,480,640,3)數組,通過這種方式可以訪問單個幀(通常希望你會想要看什麼,對嗎?)更容易(F [1 ]而不是F [:,:,:,1])。當然,表現明智,根本就不重要。 – Magellan88