手动选取特征点的python代码
时间: 2023-10-12 16:59:12 浏览: 42
以下是一个使用OpenCV库手动选择特征点的Python代码示例:
```python
import cv2
def select_keypoints(image):
# 创建窗口并设置鼠标回调函数
cv2.namedWindow('Select Keypoints')
cv2.setMouseCallback('Select Keypoints', on_mouse, param=image)
# 显示图像并等待选择特征点
while True:
cv2.imshow('Select Keypoints', image)
key = cv2.waitKey(1) & 0xFF
# 按 'Esc' 键退出选择
if key == 27:
break
# 关闭窗口
cv2.destroyAllWindows()
def on_mouse(event, x, y, flags, param):
# 在鼠标左键按下时绘制圆圈并记录特征点坐标
if event == cv2.EVENT_LBUTTONDOWN:
cv2.circle(param, (x, y), 3, (0, 255, 0), -1)
keypoints.append((x, y))
# 读取图像
image = cv2.imread('image.jpg')
# 创建空列表以保存选定的特征点坐标
keypoints = []
# 选择特征点
select_keypoints(image)
# 显示选定的特征点
for point in keypoints:
cv2.circle(image, point, 3, (0, 255, 0), -1)
cv2.imshow('Selected Keypoints', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码创建了一个窗口,在窗口中显示图像,并允许用户手动选择特征点。当鼠标左键按下时,在图像上绘制一个绿色的圆圈,并记录特征点的坐标。按下'Esc'键退出特征点选择过程。
请将代码中的`image.jpg`替换为实际的图像文件名。选定的特征点坐标将保存在`keypoints`列表中,您可以根据需要使用这些坐标进行进一步的图像处理或配准操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ipynb](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)