读取一张图像,用一个数组存储每次鼠标点击处的坐标,Python语言
时间: 2024-05-08 20:16:28 浏览: 71
使用Python实现图像标记点的坐标输出功能
以下是Python语言代码,可以读取一张图像,并用一个数组存储每次鼠标点击处的坐标:
```python
import cv2
# 读取图像
image = cv2.imread("image.jpg")
# 窗口名字
window_name = "Image"
# 点击坐标的数组
points = []
# 回调函数,用于鼠标点击事件
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONUP:
# 添加点击坐标到数组中
points.append((x, y))
print("Clicked at:", x, y)
# 创建窗口
cv2.namedWindow(window_name)
# 设置鼠标事件回调函数
cv2.setMouseCallback(window_name, mouse_callback)
# 显示图像
cv2.imshow(window_name, image)
# 等待按键事件
cv2.waitKey(0)
# 销毁窗口
cv2.destroyAllWindows()
```
在上面的代码中,首先使用`cv2.imread()`函数读取一张图像,并将其存储在`image`变量中。接着,设置了一个窗口名字`window_name`,以及一个用于存储点击坐标的数组`points`。
然后定义了一个回调函数`mouse_callback()`,用于处理鼠标点击事件。当鼠标左键被松开时,将当前点击的坐标`(x, y)`添加到`points`数组中,并在控制台输出该坐标。
接着,创建了窗口并设置了鼠标事件回调函数,之后使用`cv2.imshow()`函数显示图像,并等待按键事件。当按下任意键时,销毁窗口并退出程序。
在程序运行时,点击鼠标左键可以将当前的点击坐标添加到`points`数组中,并在控制台输出该坐标。
阅读全文