我是刺客 2017-09-02 01:53 采纳率: 0%
浏览 5702

OpenCV Mat对象使用数组数据块初始化

OpenCV的官网介绍Mat对象,共列出了25种基本的初始化方法。
其中,对于使用数组数据块的初始化方法官方给出的例子是

 double m[3][3] = {{a, b, c}, {d, e, f}, {g, h, i}};
 Mat M = Mat(3, 3, CV_64F, m).inv();

_但是我这样初始化我的Mat对象,数据为什么不对呢
double m[][3] = {{1, 2, 3}, {3, 0, 9}, {1, 3, 8}};
Mat M(3, 3, CV_8U, m);

这样的方式初始化的Mat对象数据根本就不是m数组里面的数据啊。请教高手解答啊
_

  • 写回答

2条回答 默认 最新

  • 鼠晓 博客专家认证 2017-09-02 02:11
    关注

    CV_64F,,这个东西应该是类型,64位浮点,,,详细资料看最下面:
    第一个数据不对?官方的例子应该很稳的,

    不行的话可以分两步初始化
    【1】先申请一个,mat,,,
    【1】在把数组一个一个填充即可

      Mat M0(3,3,CV_32F);
     InitMat(M0,3);
    

    详细的看看这个:http://blog.csdn.net/zssureqh/article/details/7599508

    【Mat_对应的是CV_8U,
    Mat_对应的是CV_8U,
    Mat_对应的是CV_8S,
    Mat_对应的是CV_32S,
    Mat_对应的是CV_32F,
    Mat_对应的是CV_64F,】

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料