用python实现在地址为"C:\\Users\\11508\\Desktop\\2024-03\\X.bmp"的图像上画一个圆形,该圆形能够通过鼠标进行移动改变位置,并能实时显示圆心的坐标
时间: 2024-04-15 08:23:45 浏览: 96
要在Python中实现在图像上画一个圆形,并通过鼠标移动来改变位置并实时显示圆心的坐标,可以使用OpenCV库和鼠标事件回调函数来实现。下面是一个简单的示例代码:
```python
import cv2
# 定义全局变量
circle_center = (100, 100) # 圆心初始位置
radius = 50 # 圆的半径
# 鼠标事件回调函数
def mouse_callback(event, x, y, flags, param):
global circle_center
if event == cv2.EVENT_LBUTTONDOWN: # 鼠标左键按下时更新圆心位置
circle_center = (x, y)
# 创建图像窗口并设置鼠标事件回调函数
cv2.namedWindow("Image")
cv2.setMouseCallback("Image", mouse_callback)
while True:
# 创建一个黑色图像
image = np.zeros((500, 500, 3), dtype=np.uint8)
# 在图像上画一个圆形
cv2.circle(image, circle_center, radius, (0, 0, 255), -1)
# 显示圆心坐标
cv2.putText(image, f"Center: {circle_center}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# 显示图像
cv2.imshow("Image", image)
# 按下ESC键退出循环
if cv2.waitKey(1) == 27:
break
# 关闭窗口
cv2.destroyAllWindows()
```
运行以上代码后,会弹出一个名为"Image"的窗口,你可以在该窗口中通过鼠标左键点击来移动圆形的位置,并实时显示圆心的坐标。
阅读全文