opencv3/python 鼠标响应操作详解
鼠标回调函数:
defsetMouseCallback( windowName,#窗口名称 onMouse,#鼠标响应处理函数 param=None)#处理函数的ID
event鼠标事件:
event: EVENT_LBUTTONDBLCLK=7左键双击 EVENT_LBUTTONDOWN=1左键点击 EVENT_LBUTTONUP=4左键释放 EVENT_MBUTTONDBLCLK=9中间释放 EVENT_MBUTTONDOWN=3中间点击 EVENT_MBUTTONUP=6中间释放 EVENT_MOUSEHWHEEL=11滚轮事件 EVENT_MOUSEMOVE=0滑动 EVENT_MOUSEWHEEL=10滚轮事件 EVENT_RBUTTONDBLCLK=8右键双击 EVENT_RBUTTONDOWN=2右键点击 EVENT_RBUTTONUP=5右键释放 flags: EVENT_FLAG_ALTKEY=32按Alt不放事件 EVENT_FLAG_CTRLKEY=8按Ctrl不放事件 EVENT_FLAG_LBUTTON=1左键拖拽 EVENT_FLAG_MBUTTON=4中键拖拽 EVENT_FLAG_RBUTTON=2右键拖拽 EVENT_FLAG_SHIFTKEY=16按Shift不放事件
示例
在图像上用鼠标点击左键拖拽画一矩形,并输出矩形信息:
importcv2 defdraw_rectangle(event,x,y,flags,param): globalix,iy ifevent==cv2.EVENT_LBUTTONDOWN: ix,iy=x,y print("point1:=",x,y) elifevent==cv2.EVENT_LBUTTONUP: print("point2:=",x,y) print("width=",x-ix) print("height=",y-iy) cv2.rectangle(img,(ix,iy),(x,y),(0,255,0),2) img=cv2.imread("max.png")#加载图片 cv2.namedWindow('image') cv2.setMouseCallback('image',draw_rectangle) while(1): cv2.imshow('image',img) ifcv2.waitKey(20)&0xFF==27: break cv2.destroyAllWindows()
输出:
point1:=25464 point2:=708569 width=454 height=505
以上这篇opencv3/python鼠标响应操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。