有没有一种方法可以在OpenCV中将cv::MatExpr直接转换为cv::Point?
假设我想使用矩阵乘法将投影结果转换回点,因为这样做在语义上是合理的:有没有一种方法可以在OpenCV中将cv::MatExpr直接转换为cv::Point?,opencv,Opencv,假设我想使用矩阵乘法将投影结果转换回点,因为这样做在语义上是合理的: Point3f p_prim = A * p; 然而,这似乎不起作用,因为矩阵乘法的结果是cv::MatExpr类型,并且似乎没有办法从cv::MatExpr转换到点,或者我在OpenCV文档中忽略了它?MatExpr只能转换到Mat。您可以构建您的观点,如: Mat1f temp = A * p; Point3f pt(temp(0), temp(1), temp(2)); 假设A*p的结果是1x3或3x1矩阵。MatE
Point3f p_prim = A * p;
然而,这似乎不起作用,因为矩阵乘法的结果是
cv::MatExpr
类型,并且似乎没有办法从cv::MatExpr
转换到点
,或者我在OpenCV文档中忽略了它?MatExpr
只能转换到Mat
。您可以构建您的观点,如:
Mat1f temp = A * p;
Point3f pt(temp(0), temp(1), temp(2));
假设
A*p
的结果是1x3
或3x1
矩阵。MatExpr
仅可转换为Mat
。您可以构建您的观点,如:
Mat1f temp = A * p;
Point3f pt(temp(0), temp(1), temp(2));
假设
A*p
的结果是1x3
或3x1
矩阵。这似乎是最直接的方法。我仍然想知道为什么框架不直接支持这一点。点
和向量
不打算这样使用吗?如果是这样,它们的作用是什么?对于OpenCVMat
,Point
s表示矩阵坐标,Vec\u
是矩阵的一个元素。这似乎是最直接的方法。我仍然想知道为什么框架不直接支持这一点。点
和向量
不打算这样使用吗?如果是,它们是干什么用的?对于OpenCVMat
,点
s表示矩阵坐标,Vec
是矩阵的一个元素。