"chuyuhuntou": ["chuyuhuntou.jpg","luodibao.jpg"]这个列表有两个图片,做一个画框的函数,鼠标左键拖动画框,鼠标右键结束画框
时间: 2023-07-24 21:13:55 浏览: 103
好的,根据你的要求,我会在两张图片上实现画框的功能。以下是一个示例代码,使用Python和OpenCV库来实现:
```python
import cv2
# 创建画框的回调函数
def draw_rectangle(event, x, y, flags, param):
global drawing, top_left_pt, bottom_right_pt
if event == cv2.EVENT_LBUTTONDOWN: # 鼠标左键按下
drawing = True
top_left_pt = (x, y)
elif event == cv2.EVENT_LBUTTONUP: # 鼠标左键释放
drawing = False
bottom_right_pt = (x, y)
cv2.rectangle(img, top_left_pt, bottom_right_pt, (0, 255, 0), 2)
cv2.imshow('image', img)
elif event == cv2.EVENT_RBUTTONDOWN: # 鼠标右键按下
drawing = False
# 图片列表
image_list = ["chuyuhuntou.jpg", "luodibao.jpg"]
for image_path in image_list:
# 读取图片
img = cv2.imread(image_path)
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_rectangle)
drawing = False
top_left_pt, bottom_right_pt = (-1, -1), (-1, -1)
while True:
cv2.imshow('image', img)
# 按下ESC键退出当前图片,按下'q'键退出程序
key = cv2.waitKey(1)
if key == 27: # ESC键
break
elif key == ord('q'):
exit()
cv2.destroyAllWindows()
```
该代码会循环遍历图片列表中的每张图片,然后在每张图片上实现画框的功能。你可以使用鼠标左键拖动来画框,使用鼠标右键结束绘制。绘制的框会以绿色边框显示在窗口中。按下ESC键可以退出当前图片的绘制,按下'q'键可以退出程序。
请确保将图片文件(chuyuhuntou.jpg和luodibao.jpg)与代码文件放在同一目录下或者提供正确的图片路径。
希望这个例子对你有帮助!如果还有其他问题,请随时提问。
阅读全文