2012-09-12 19 views
1

我试着通过Mat_<float>作为cv::projectPoints的目的地。每当我在运行时_OutputArray::create抱怨,这种类型是固定fixedType()fixedSize())。Mat_ <float>到OutputArray

可悲的是,文档没有真正解释这些概念,更不用说描述了用什么障碍跳过去使用实例化OutputArray(这是一个高度问题的转换器类)。 有人可以谈谈OpenCV的滑稽动作以及如何让它工作吗?

回答

1

构造函数OutputArray需要Mat_<T>设置FIXED_TYPE标志,因为它是预先确定的(它的默认值为float)。既然这意味着一个单通道矩阵,并且想要创建一个双通道输出,它就会失败。使用Mat_<Vec2f>或类似的东西。

相反的是瓦西里说,你可以使用Mat_<T>Matx(同时具有固定的大小和类型)作为OutputArray(有用于MatxMat_显式的构造,它只是那些构造函数设置的标志,一些事情不能改变,所以试图改变它们的函数将失败)。

+0

谢谢。最后算出来了。最让我失望的事情(除旗子之外)是_OpenCV_s处理尺寸。和他们过度的'cv :: Mat'实现。 – abergmeier

相关问题