用python实现在地址为"C:\\Users\\11508\\Desktop\\2024-03\\X.bmp"的图像上画一个空心圆形,该圆形能够通过鼠标的拖动进行移动改变位置,并能实时显示圆心的坐标
时间: 2024-04-15 15:23:45 浏览: 86
要在Python中实现在图像上画一个空心圆形,并通过鼠标拖动来改变位置并实时显示圆心的坐标,你可以使用OpenCV库和鼠标事件实现。下面是一个示例代码:
```python
import cv2
# 定义全局变量
circle_center = (0, 0) # 圆心坐标
鼠标事件回调函数
def mouse_callback(eve, x, y, flags, param):
circle_center
if event == cv2.EVENT_LBUTTONDOWN: # 鼠标左键按下
circle_center =x, y)
# 创建图像窗口
image = cv2.imread("C:\\\\11508\\Desktop\\2024-03\\X.bmpcv2.namedWindowImage")
cv2.setMouseCallback("Image", mouse_callback)
while True:
# 在图像上绘制圆形
image_copy = image.copy()
cv2.circle(image_copy, circle_center, 50, (0, 0, 255), 2) # 绘制半径为50的空心圆形
# 显示圆心坐标
cv2.putText(image_copy, f"Center: {circle_center}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
# 显示图像
cv2.imshow("Image", image_copy)
# 按下ESC键退出循环
if cv2.waitKey(1) == 27:
break
# 关闭窗口
cv2.destroyAllWindows()
```
这段代码使用OpenCV库加载图像,并创建一个窗口来显示图像。通过鼠标事件回调函数`mouse_callback`来获取鼠标左键按下时的坐标,并将其作为圆心坐标。然后在每一帧图像上绘制一个半径为50的空心圆形,并在图像上显示圆心坐标。按下ESC键可以退出程序。
阅读全文