使用python cv2,打开一张图片,在图片上依次点四个点,并记下四个点的坐标,存入pts = np.array([(), (), (), ()}
时间: 2024-10-15 09:24:13 浏览: 25
发光PtS2量子点的制备
要使用OpenCV(cv2)在图片上添加并标记四个点,首先需要导入必要的库并加载图像。在这个示例中,我们将创建一个黑色图像,然后在图像上绘制多边形来表示这些点。
**步骤1**: 导入库并初始化图像
```python
import numpy as np
import cv2
# 创建一个黑底白字的图像
init_img = np.zeros((200, 200, 3), np.uint8)
```
**步骤2**: 定义点的位置
```python
# 假设我们有四个点,每个点是(x, y)坐标
tpPointsChoose = np.array([[10, 5], [20, 30], [70, 20], [50, 10]]) # 可以替换为你想要的点的坐标
```
**步骤3**: 转换点数组格式
```python
# 将点从二维数组转换为适合cv2.polylines所需的(行,1,2)形状
pts = tpPointsChoose.reshape((-1, 1, 2))
```
**步骤4**: 绘制多边形
```python
# 使用cv2.polylines画线,True表示闭合路径
cv2.polylines(init_img, [pts], True, (0, 255, 255)) # 第二个参数是一个布尔值,决定是否连接最后一个点到第一个点形成闭环
# 如果你想标记单条直线,可以这样使用cv2.line
# 对于单个点对:
# cv2.line(init_img, tpPointsChoose[0], tpPointsChoose[1], (0, 0, 255), 5) # 替换为其他点对
```
**步骤5**: 显示结果
```python
cv2.imshow('img2', init_img)
cv2.waitKey(0) # 等待用户按键,0表示无限等待
```
阅读全文