为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻阅古今 2021-05-04 09:45:18
如标题中所述,我目前有一些从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条经验 获得超12个赞

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数组复制到适当插槽中的能力。


查看完整回答
反对 回复 2021-05-18
  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号