Mat显式分配错误opencv

Posted

技术标签:

【中文标题】Mat显式分配错误opencv【英文标题】:Mat explicit assignment error opencv 【发布时间】:2013-09-09 11:10:36 【问题描述】:

我正在尝试初始化一个 Mat 变量,它将包含以下矩阵

    [1,0,0,0
     0,1,0,0
     0,0,1,0
     0,0,0,1]

从这个link,我得到了一个方法来做到这一点并实现了同样的

    Mat Tfrm = (Mat_double(4,4)<<1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);

但是,我遇到了以下错误

    resectioning_1.cpp:809:28: error: ‘Mat_double’ was not declared in this scope

你能告诉我如何解决这个问题吗?我用谷歌搜索但一无所获。也许我不确定要搜索什么。我知道这是一个简单的问题,但请帮助我。如果有另一种简单的方法来实现我想要做的事情,请告诉我。提前致谢

【问题讨论】:

【参考方案1】:

你需要Mat_&lt;double&gt; 而不是Mat_double

Mat Tfrm = (Mat_<double>(4,4)<<1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);

【讨论】:

以上是关于Mat显式分配错误opencv的主要内容,如果未能解决你的问题,请参考以下文章

像素的存储方法显式创建Mat对象的七种方法

OpenCV Mat中的动态内存释放错误

Object Mat(args); 之间有啥区别 - 明智的内存分配和对象 *Mat = new Mat(args);在 C++ 中? [复制]

OpenCV 中 Mat 等结构的内存分配

奇怪的 glm::mat2x4 分配行为

HAA0502 显式新引用类型分配