python获取opencv的x,y坐标
时间: 2024-03-18 10:41:34 浏览: 178
在 OpenCV 中获取一个图像的 x 和 y 坐标,需要使用 `cv2.mousecallback()` 函数来实现。该函数用于设置鼠标事件的回调函数,当鼠标在图像上发生事件时,该函数将被调用。
下面是一个简单的示例代码,用于获取鼠标在图像上的坐标:
```python
import cv2
def on_mouse(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print('x:', x, 'y:', y)
# 加载图像
img = cv2.imread('test.jpg')
# 显示图像
cv2.imshow('image', img)
# 注册鼠标事件回调函数
cv2.setMouseCallback('image', on_mouse)
# 等待用户按下任意按键
cv2.waitKey(0)
# 关闭图像窗口
cv2.destroyAllWindows()
```
在这个示例中,我们首先加载一张名为 `test.jpg` 的图像,并显示在窗口中。然后,我们使用 `cv2.setMouseCallback()` 函数来注册鼠标事件的回调函数 `on_mouse()`,该函数将在鼠标左键按下时被调用。在 `on_mouse()` 函数中,我们可以获取鼠标在图像上的 x 和 y 坐标,并将其打印出来。
最后,我们使用 `cv2.waitKey()` 函数等待用户按下任意按键,关闭图像窗口并释放内存。
注意:如果你想获取鼠标在实时视频流上的坐标,需要使用类似的方法,并在 `on_mouse()` 函数中加入相应的处理逻辑。
阅读全文