Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我尝试将 aMat_<float>作为cv::projectPoints. 每当我在运行时这样做时_OutputArray::create抱怨,类型是固定的(fixedType()和fixedSize())。
Mat_<float>
cv::projectPoints
_OutputArray::create
fixedType()
fixedSize()
遗憾的是,文档并没有真正解释这些概念,更不用说描述使用实例化必须跳过哪些障碍OutputArray(这是一个非常有问题的转换器类)。有人能解释一下 OpenCV 的滑稽动作以及如何让它工作吗?
OutputArray
接受 a的OutputArray构造函数Mat_<T>设置FIXED_TYPE标志,因为它是预先确定的(float在你的情况下)。由于这意味着一个单通道矩阵并且projectPoints想要创建一个双通道输出,所以它失败了。使用Mat_<Vec2f>或类似的东西。
Mat_<T>
FIXED_TYPE
float
projectPoints
Mat_<Vec2f>
与 vasile 所说的相反,您可以使用Mat_<T>and Matx(它具有固定的大小和类型)作为 OutputArray (有明确的构造函数Matxand Mat_,只是那些构造函数设置了一些东西不能改变的标志,所以函数尝试更改它们会失败)。
Matx
Mat_