qq_41747698
2021-08-17 08:58
采纳率: 73.9%
浏览 37
已结题

如何在C++中实现python的np.reshape

在python下实现了一个模型识别28,28的数字数据集,预处理如下

blob = cv2.dnn.blobFromImage(x, scalefactor=1.0/255.0, size=(28, 28), crop=False, swapRB=False)
input_blob = blob.reshape(-1, 28, 28, 1)
net.setInput(input_blob)  # 设置模型输入
out = net.forward()

现在的问题是想在C中用opencvdnn部署,但是应该如何实现同样的预处理,C++中有等效于reshape的方法吗

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • 爱晚乏客游 2021-08-17 09:05
    已采纳

    Mat 好像有个reshape()成员函数,具体的你可以查一查API,是可以用的。
    但是你的这个你确定没有问题吗?经过opencv的blob之后一般都是NCHW的输入,也就是你的blob是(batch,channel,28,28),如果你再执行reshape,你的就变成了CHWN了,你确定你的这输入正确?

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • 有问必答小助手 2021-08-17 14:04
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题