opencv鼠标选点并显示
时间: 2023-06-28 08:11:15 浏览: 92
可以使用OpenCV中的cv2.setMouseCallback()函数来实现鼠标选点并显示。
以下是一个示例代码:
```python
import cv2
# 定义回调函数
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("Left button of the mouse is clicked - position ({}, {})".format(x, y))
# 在鼠标点击位置绘制一个圆
cv2.circle(img, (x, y), 5, (0, 255, 0), -1)
# 显示图像
cv2.imshow('image', img)
# 读取图像
img = cv2.imread('test.jpg')
# 显示图像
cv2.imshow('image', img)
# 设置鼠标回调函数
cv2.setMouseCallback('image', mouse_callback)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行该代码,会打开一张图片,并且在该图片上可以用鼠标左键点击,点击后会在该位置绘制一个绿色的圆。同时,程序会在控制台输出该点的坐标。
相关问题
用python写一个读取图片能用鼠标选点并输出点坐标
可以使用Python的OpenCV库来实现这个功能。以下是一个简单的示例代码:
```python
import cv2
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("Point selected: ({}, {})".format(x, y))
img = cv2.imread("image.jpg")
cv2.namedWindow("image")
cv2.setMouseCallback("image", mouse_callback)
while True:
cv2.imshow("image", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
```
这个代码会打开一张名为"image.jpg"的图片,并在窗口中显示。当你在窗口中点击鼠标左键时,程序会输出所选点的坐标。你可以通过修改代码来适应你的具体需求。
python首先加载图片,随后用鼠标在图像上选点并给出其像素坐标
可以使用Python的OpenCV库来加载图片并在图像上选点。以下是一个示例代码:
```python
import cv2
# 加载图片
img = cv2.imread('image.jpg')
# 显示图片
cv2.imshow("Image", img)
# 等待用户选点
clicked_point = None
def on_mouse_click(event, x, y, flags, param):
global clicked_point
if event == cv2.EVENT_LBUTTONUP:
clicked_point = (x, y)
cv2.setMouseCallback("Image", on_mouse_click)
# 等待用户选点并显示坐标
while clicked_point is None:
cv2.waitKey(1)
print("Clicked point:", clicked_point)
print("Pixel value at clicked point:", img[clicked_point[1], clicked_point[0]])
# 关闭窗口
cv2.destroyAllWindows()
```
这个代码会加载名为 `image.jpg` 的图片并显示出来。当用户在图片上单击鼠标左键时,程序会记录下所选点的像素坐标,并在控制台输出。如果需要,还可以在窗口中显示出所选点的坐标或者像素值。
阅读全文