📌  相关文章
📜  使用 Python-OpenCV 显示在图像上单击的点的坐标(1)

📅  最后修改于: 2023-12-03 14:49:45.804000             🧑  作者: Mango

使用 Python-OpenCV 显示在图像上单击的点的坐标

本文将介绍如何使用 Python 和 OpenCV 库来在图像上单击鼠标并获取点击点的坐标。以下是一个完整的示例代码,通过使用 OpenCV 中的鼠标事件处理函数来实现此功能。

安装依赖

首先,确保你已经安装了 Python 和 OpenCV 库。

pip install opencv-python
示例代码
import cv2

# 鼠标事件回调函数
def mouse_callback(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        print(f"Clicked at: ({x}, {y})")

# 加载图像
image = cv2.imread("image.jpg")

# 创建窗口
cv2.namedWindow("Image")

# 在窗口上绑定鼠标事件回调函数
cv2.setMouseCallback("Image", mouse_callback)

while True:
    # 显示图像
    cv2.imshow("Image", image)

    # 如果按下 ESC 键,退出循环
    if cv2.waitKey(1) == 27:
        break

# 释放窗口和其他资源
cv2.destroyAllWindows()
代码说明
  1. 导入 cv2 模块。
  2. 定义了一个鼠标事件回调函数 mouse_callback,该函数会在鼠标单击事件发生时被调用。
  3. 使用 cv2.imread 加载待处理的图像。
  4. 创建一个名为 "Image" 的窗口。
  5. 使用 cv2.setMouseCallback 将鼠标事件回调函数绑定到窗口上。
  6. 进入一个循环,不断显示图像,直到按下 ESC 键退出循环。
  7. 在鼠标事件回调函数中,当检测到鼠标左键的点击事件时,打印点击点的坐标。
  8. 最后释放窗口和其他资源。

请将 image.jpg 替换为你自己的图像文件路径,确保图像文件存在。

运行代码

保存上述代码为 display_clicked_point.py,然后在终端中执行以下命令运行代码:

python display_clicked_point.py

点击图像上的某个位置,即可在终端中看到该点击点的坐标。

希望这篇介绍能帮助到你理解如何使用 Python 和 OpenCV 来显示图像上单击的点的坐标。