在 OpenCV 内置示例中,它在图像上找到正方形,所有轮廓都存储在向量中。
如何根据数学向量运算处理这些点。为了计算这些轮廓点之间的简单 versors,我必须将它们转换为 Vec2d,所以我可以使用“norm”函数:
Vec2d PointTOVec2d(Point q){
return Vec2d(q.x,q.y);
}
void main(){
vector<cv::Point> square=SomeFunctionCalculatingSquarePoints();
Vec2d v1;
v1=PointTOVec2d(square[1]-square[0]);
v1=v1/norm(v1);
}
但即使采用这种方式,我似乎也无法找到一种方法(通过显式函数)来计算 Vec2d 的简单幅度。
那么如何在 OpenCV 中将点作为数学向量处理,我是否必须自己编写所有内容,还是我错过了一些非常重要的 OpenCV 数学特性/方式/类来处理它们?