cv.setMouseCallback
时间: 2024-04-13 13:10:55 浏览: 123
cv.setMouseCallback是OpenCV库中的一个函数,用于设置鼠标事件的回调函数。它允许我们在图像窗口上注册一个回调函数,以便在鼠标事件发生时执行特定的操作。
该函数有两个参数:windowName和onMouse。windowName是要绑定鼠标事件的图像窗口的名称,而onMouse是我们自定义的回调函数。
示例用法:
```python
import cv2 as cv
def onMouse(event, x, y, flags, param):
if event == cv.EVENT_LBUTTONDOWN:
print("Left button down at ({}, {})".format(x, y))
elif event == cv.EVENT_RBUTTONDOWN:
print("Right button down at ({}, {})".format(x, y))
image = cv.imread("image.jpg")
cv.namedWindow("Image")
cv.setMouseCallback("Image", onMouse)
while True:
cv.imshow("Image", image)
if cv.waitKey(1) == 27: # 按下ESC键退出
break
cv.destroyAllWindows()
```
在上面的示例中,我们创建了一个名为"Image"的窗口,并注册了一个名为onMouse的回调函数。当鼠标左键按下时,回调函数会打印出鼠标点击的坐标。当鼠标右键按下时,回调函数会打印出右键点击的坐标。程序会一直显示图像,并等待按下ESC键退出。
这就是cv.setMouseCallback函数的基本用法。通过注册回调函数,我们可以捕捉和处理图像窗口上的鼠标事件。
阅读全文