是的,可以同时在两个窗口上设置OpenCV鼠标回调。OpenCV提供了一个函数setMouseCallback()
,可以用于在指定窗口上设置鼠标回调函数。通过在两个窗口上分别调用setMouseCallback()
函数,可以实现在两个窗口上同时设置鼠标回调。
以下是一个示例代码,演示了如何在两个窗口上设置鼠标回调函数:
import cv2
# 鼠标回调函数
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("Left button down at ({}, {})".format(x, y))
# 创建两个窗口
cv2.namedWindow("Window 1")
cv2.namedWindow("Window 2")
# 在两个窗口上设置鼠标回调函数
cv2.setMouseCallback("Window 1", mouse_callback)
cv2.setMouseCallback("Window 2", mouse_callback)
# 显示图像并等待按键退出
image1 = cv2.imread("image1.jpg")
image2 = cv2.imread("image2.jpg")
cv2.imshow("Window 1", image1)
cv2.imshow("Window 2", image2)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上述代码中,mouse_callback()
函数是鼠标回调函数,当鼠标左键按下时,会在控制台输出鼠标点击的坐标。通过调用cv2.setMouseCallback()
函数,在两个窗口上分别设置了相同的鼠标回调函数。
请注意,上述示例代码中的窗口名称为"Window 1"和"Window 2",你可以根据实际情况修改窗口名称。另外,示例代码中使用了cv2.imread()
函数加载了两张图像,你可以将其替换为你自己的图像路径。
对于OpenCV的更多信息和使用方法,你可以参考腾讯云的OpenCV产品文档:OpenCV产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云