python利用opencv计算图像中两个矩形框中心点之间的距离
时间: 2025-01-05 10:44:43 浏览: 12
在Python中,我们可以使用OpenCV库来处理图像和几何形状,包括计算两个矩形框中心点之间的距离。首先,你需要安装OpenCV,可以使用pip install opencv-python命令。下面是一个简单的步骤:
1. 导入必要的模块:
```python
import cv2
import numpy as np
```
2. 加载图像并读取矩形框信息(例如,你可以从XML配置文件、用户输入或者通过检测得到):
```python
# 假设你已经有了两个矩形框,每个矩形由(x, y, w, h)表示,其中(x, y)是左上角坐标,(w, h)是宽度和高度
rect1 = (x1, y1, w1, h1)
rect2 = (x2, y2, w2, h2)
```
3. 计算中心点:
```python
center1 = (int(rect1[0] + rect1[2]/2), int(rect1[1] + rect1[3]/2))
center2 = (int(rect2[0] + rect2[2]/2), int(rect2[1] + rect2[3]/2))
```
4. 使用`cv2.norm()`函数计算两点间的欧几里得距离:
```python
distance = np.linalg.norm(np.array(center1) - np.array(center2))
distance = distance if distance > 0 else 0 # 防止除以零的情况
```
5. 输出结果:
```python
print(f"两个矩形中心点之间的距离是:{distance} pixels")
```
阅读全文