opencv学习_day03鼠标的控制图像
希望鼠标点击图像能够与图像获得相关的交互
因此
import cv2
import numpy as np
#1、参数必须是五个
# 2、event 表示的是鼠标事件
# xy,代表鼠标的坐标
#flags 代表组合按键
"""
event:
#defineCV_EVENT_MOUSEMOVE 0 移动
#defineCV_EVENT_LBUTTONDOWN 1 左键按下
#defineCV_EVENT_RBUTTONDOWN 2 右键按下
#defineCV_EVENT_MBUTTONDOWN 3 中键按下
#defineCV_EVENT_LBUTTONUP 4 左键升起
#defineCV_EVENT_RBUTTONUP 5 右键升起
#defineCV_EVENT_MBUTTONUP 6 中键升起
#defineCV_EVENT_LBUTTONDBLCLK 7 左键双击
#defineCV_EVENT_RBUTTONDBLCLK 8 右键双击
#defineCV_EVENT_MBUTTONDBLCLK 9 中键双击
flag:
#defineCV_EVENT_FLAG_LBUTTON 1 左键拖曳
#defineCV_EVENT_FLAG_RBUTTON 2 右键拖曳
#defineCV_EVENT_FLAG_MBUTTON 4 中键拖曳
#defineCV_EVENT_FLAG_CTRLKEY 8 (8~15)按Ctrl不放事件
#defineCV_EVENT_FLAG_SHIFTKEY 16 (16~31)按Shift不放事件
#defineCV_EVENT_FLAG_ALTKEY 32 (32~39)按Alt不放事件
"""
def mouse_callback(event,x,y,flags,param):
if event ==cv2.EVENT_LBUTTONDOWN:
print("左侧点击了")
girl=cv2.imread("girl.jpeg")
cv2.namedWindow("girlwindow")
cv2.setMouseCallback("girlwindow",mouse_callback,"girl") # 第一个参数代表鼠标点击的窗口名称,第二个代表鼠标的函数,第三个代表传入的用户数据
while True:
cv2.imshow("girlwindow",girl)
key =cv2.waitKey(1)
if key==ord("q"):
break
cv2.destroyAllWindows()
最终效果如下: