如標題中所述,我目前有一些從OpenCV讀取的2D圖像數據,我需要將尺寸更改為4D。例如,將尺寸標注[320, 720]為[1, 320, 720, 1],然后使整個數據成為單個4D矩陣。在Python中,我可以numpy.expand_dims()對每個圖像進行處理,然后再對numpy.concatenate()它們進行處理。我想知道是否可以在C ++中使用一些等效的API。我在中找到expand_dims()了Tensorflow它,但是它僅適用于張量,并且還沒有找到任何東西concatenate()。圖書館像OpenCV,Tensorflow,Boost都歡迎。但是我想減輕負擔,所以如果我自己實現(如果不太復雜的話)會更好。先感謝您。
1 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
expand_dimsplus concatenate,可以用更迭代的語言編寫為:
In [107]: x = np.arange(12).reshape(3,4)
In [109]: y = np.zeros((2,3,4,3),dtype=int)
In [110]: for i in range(2):
...: for j in range(3):
...: y[i,:,:,j] = x
...:
In [111]: y
Out[111]:
array([[[[ 0, 0, 0],
[ 1, 1, 1],
[ 2, 2, 2],
[ 3, 3, 3]],
[[ 4, 4, 4],
[ 5, 5, 5],
....
[10, 10, 10],
[11, 11, 11]]]])
換句話說,您所需要的只是創建合適大小的目標數組的能力,以及將2d數組復制到適當插槽中的能力。
添加回答
舉報
0/150
提交
取消