OpenCV Python – 如何在图像上显示点击点的坐标?

OpenCV Python – 如何在图像上显示点击点的坐标?

在图像处理中,我们经常需要在图像上显示某个点的像素坐标,Python的OpenCV库提供了一种简单的方法来实现这一功能。在本文中,我们将介绍如何使用OpenCV和Python来在图像上显示点击点的像素坐标。

安装OpenCV和Python

在本文中,我们将使用Python 3和OpenCV 4。在开始之前,请确保你已经安装了Python和OpenCV库。如果没有,可以通过以下命令来安装它们:

pip install opencv-python

加载图像

首先,我们需要将图像加载到我们的Python代码中。OpenCV提供了一个imread()函数来加载图像。以下是加载一张名为”image.jpg”的图像的示例代码:

import cv2

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

# 显示图像
cv2.imshow("Image", image)
cv2.waitKey(0)

上述代码中,我们使用cv2.imread()函数将图像加载到变量image中。接下来,使用cv2.imshow()函数显示图像,并使用cv2.waitKey(0)函数等待用户按下任意键关闭图像窗口。

显示点击点的坐标

接下来,我们将使用鼠标事件来获取用户在图像中点击的位置,然后在图像上显示该位置的像素坐标。我们需要创建一个鼠标回调函数,并将其连接到图像窗口。以下是示例代码:

import cv2

# 鼠标事件回调函数
def click_event(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        print(x, y)

        # 在图像上显示坐标
        font = cv2.FONT_HERSHEY_SIMPLEX
        cv2.putText(image, str(x) + ',' + str(y), (x,y), font, 1, (255, 255, 0), 2)
        cv2.imshow('image', image)

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

# 创建图像窗口并连接鼠标回调函数
cv2.imshow('image', image)
cv2.setMouseCallback('image', click_event)

# 等待用户关闭图像窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码中,我们定义了一个click_event()函数作为鼠标回调函数。当用户在图像窗口中单击鼠标左键时,该函数将打印点击点的像素坐标,并显示该坐标在图像上的位置。使用cv2.putText()函数在图像上显示文本,并使用cv2.imshow()函数显示更新后的图像。

结论

本文介绍了如何使用OpenCV和Python来在图像上显示点击点的像素坐标。我们学习了如何加载图像以及如何创建鼠标回调函数,以便在用户单击图像时获取坐标并将其显示在图像上。如果你有任何问题或建议,请在评论区留言。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Python OpenCV