matlab 矩阵reshape都是按照列展开的,opencv的cvmat是按照行展开的

最近要测试下数据,一个小问题明明觉得应该是正确的,哪知道老错误,今天参加summer school的时候和wdai讨论了下,发现应该是matlab和c++将

矩阵拉成向量的格式不一样,测试如下果然不一样,matlab是按照列展开的。opencv的cvmat是按照行展开的,matlab测试如下:

>> a = rand(4,3)


a =

    0.6787    0.6555    0.2769
    0.7577    0.1712    0.0462
    0.7431    0.7060    0.0971
    0.3922    0.0318    0.8235

>> b = reshape(a,[12 1])

b =

    0.6787
    0.7577
    0.7431
    0.3922
    0.6555
    0.1712
    0.7060
    0.0318
    0.2769
    0.0462
    0.0971
    0.8235

显然这个事按照列展开的。


如果想按行展开,代码如下:

>> c = reshape(a',[12 1])

c =

    0.6787
    0.6555
    0.2769
    0.7577
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值