Mat_ <float>到OutputArray </float>

时间:2012-09-12 11:28:03

标签: c++ c opencv

我尝试传递Mat_<float>作为cv::projectPoints的目的地。每当我在运行时_OutputArray::create抱怨时,该类型已修复fixedType()fixedSize())。

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

1 个答案:

答案 0 :(得分:1)

采用OutputArray的{​​{1}}构造函数设置Mat_<T>标志,因为它是预先确定的(在您的情况下为FIXED_TYPE)。由于这意味着单通道矩阵并且float想要创建双通道输出,因此它会失败。使用projectPoints或类似的东西。

与vasile所说的相反,你可以使用Mat_<Vec2f>Mat_<T>(它具有固定的大小和类型)作为OutputArray({有明确的构造函数} {1}}和Matx,只是那些构造函数设置了标记,表示某些内容无法更改,因此尝试更改它们的函数将失败。)