1

我尝试将 aMat_<float>作为cv::projectPoints. 每当我在运行时这样做时_OutputArray::create抱怨,类型是固定的(fixedType()fixedSize())。

遗憾的是,文档并没有真正解释这些概念,更不用说描述使用实例化必须跳过哪些障碍OutputArray(这是一个非常有问题的转换器类)。有人能解释一下 OpenCV 的滑稽动作以及如何让它工作吗?

4

1 回答 1

1

接受 a的OutputArray构造函数Mat_<T>设置FIXED_TYPE标志,因为它是预先确定的(float在你的情况下)。由于这意味着一个单通道矩阵并且projectPoints想要创建一个双通道输出,所以它失败了。使用Mat_<Vec2f>或类似的东西。

与 vasile 所说的相反,您可以使用Mat_<T>and Matx(它具有固定的大小和类型)作为 OutputArray (有明确的构造函数Matxand Mat_,只是那些构造函数设置了一些东西不能改变的标志,所以函数尝试更改它们会失败)。

于 2012-09-13T09:23:30.617 回答