opencv计算两点间的距离
时间: 2023-11-07 21:53:18 浏览: 117
要计算两点之间的距离,可以使用以下代码片段:
```c++
#include <opencv2/opencv.hpp>
#include <cmath>
double getDistance(cv::Point pointO, cv::Point pointA) {
double distance;
distance = pow((pointO.x - pointA.x), 2) + pow((pointO.y - pointA.y), 2);
distance = sqrt(distance);
return distance;
}
int main() {
cv::Point pointO(0, 0); // 起点坐标
cv::Point pointA(3, 4); // 终点坐标
double distance = getDistance(pointO, pointA);
std::cout << "两点之间的距离为: " << distance << std::endl;
return 0;
}
```
相关问题
opencv计算两点间的距离 python
在OpenCV中,可以使用以下代码计算两点之间的距离:
```python
import math
def getDist_P2P(Point0, PointA):
distance = math.pow((Point0[0]-PointA[0]), 2) + math.pow((Point0[1]-PointA[1]), 2)
distance = math.sqrt(distance)
return distance
```
这个函数接受两个点作为输入参数,并返回这两个点之间的距离。你可以将点的坐标作为参数传递给这个函数,例如`getDist_P2P((x1, y1), (x2, y2))`。
opencv 计算两条直线距离
在OpenCV中,可以使用cv::line()函数绘制一条直线。假设我们有两条直线分别为line1和line2,可以使用以下步骤计算它们之间的距离:
1.首先通过line1和line2的端点坐标,使用cv::Point()或cv::Point2f()定义这些坐标。
例如,定义line1的起点为point1_1,终点为point1_2,line2的起点为point2_1,终点为point2_2。
2.使用cv::norm()函数计算两条直线的距离。
例如,定义line1和line2之间的距离为distance,可以通过以下代码计算:
double distance = cv::norm(point1_1 - point2_1) / 2.0;
注意:由于cv::norm()函数计算的是两个点之间的欧氏距离,所以我们需要将其除以2.0来获得两条直线之间的距离。
以上就是使用OpenCV计算两条直线距离的方法。