相当于numpy.expand_dims()和numpy.concatenate()的C ++

如标题中所述,我目前有一些从OpenCV读取的2D图像数据,我需要将尺寸更改为4D。例如,将尺寸标注[320, 720][1, 320, 720, 1],然后使整个数据成为单个4D矩阵。

在Python中,我可以numpy.expand_dims()对每个图像进行处理,然后再对numpy.concatenate()它们进行处理。我想知道是否可以在C ++中使用一些等效的API。我在中找到expand_dims()Tensorflow它,但是它仅适用于张量,并且还没有找到任何东西concatenate()

图书馆像OpenCVTensorflowBoost都欢迎。但是我想减轻负担,所以如果我自己实现(如果不太复杂的话)会更好。先感谢您。


翻阅古今
浏览 183回答 1
1回答

红颜莎娜

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]: yOut[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数组复制到适当插槽中的能力。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python