OpenCV为我们提供不同类型的鼠标事件,包括左键或右键单击、鼠标移动、左键双击等。鼠标事件返回鼠标事件的坐标(x,y)。为了在事件发生时执行一个操作,我们定义一个鼠标回调函数。我们使用左键单击(cv2.EVENT_LBUTTONDOWN)和右键单击(cv2.EVENT_RBUTTONDOWN)来显示在图像上单击的点的坐标。
步骤
要显示在输入图像上单击点的坐标,可以按照下面的步骤进行-
- 导入所需库OpenCV。确保您已经安装了它。
-
定义一个鼠标回调函数来显示在输入图像上单击点的坐标。鼠标回调函数在鼠标事件发生时执行。鼠标事件给出鼠标事件的坐标(x,y)。在此处,我们定义一个鼠标回调函数,在鼠标左键单击(EVENT_LBUTTONDOWN)或右键单击(EVENT_RBUTTONDOWN)时显示在输入图像上单击点的坐标。在这个回调函数中,我们将坐标显示为文本,将点显示为具有小半径的圆。
-
使用cv2.imread()函数读取输入图像。
-
定义一个新窗口,并使用cv2.setMouseCallback()函数将上面定义的回调函数绑定到窗口。
-
显示图像窗口。该窗口在其中打开输入图像,我们在图像上显示鼠标事件发生的点的坐标。要关闭窗口,请按ESC键。
让我们来看一些程序示例,以更好地理解。
输入图像
我们将在下面的示例中使用此图像作为输入文件。