python--openCV--鼠標事件


 

import cv2
import numpy as np

cv2.namedWindow("new")
def drawxxx(event,x,y,flags,param): #鼠標事件回調函數
    #參數 (事件,x軸位置,y軸位置,標記,屬性)
    """
    event:
        EVENT_MOUSEMOVE 0            #滑動
        EVENT_LBUTTONDOWN 1          #左鍵點擊
        EVENT_RBUTTONDOWN 2          #右鍵點擊
        EVENT_MBUTTONDOWN 3          #中鍵點擊
        EVENT_LBUTTONUP 4            #左鍵放開
        EVENT_RBUTTONUP 5            #右鍵放開
        EVENT_MBUTTONUP 6            #中鍵放開
        EVENT_LBUTTONDBLCLK 7        #左鍵雙擊
        EVENT_RBUTTONDBLCLK 8        #右鍵雙擊
        EVENT_MBUTTONDBLCLK 9        #中鍵雙擊
    x,y:
        x,y,代表鼠標位於窗口的(x,y)坐標位置
    flags:
        代表鼠標的拖拽事件,以及鍵盤鼠標聯合事件
        EVENT_FLAG_LBUTTON 1       #左鍵拖曳
        EVENT_FLAG_RBUTTON 2       #右鍵拖曳
        EVENT_FLAG_MBUTTON 4       #中鍵拖曳
        EVENT_FLAG_CTRLKEY 8       #(8~15)按Ctrl不放事件
        EVENT_FLAG_SHIFTKEY 16     #(16~31)按Shift不放事件
        EVENT_FLAG_ALTKEY 32       #(32~39)按Alt不放事件
        比如:按住CTRL鍵 單擊左鍵  返回8+1=9
    :param param:不知道有什么用
    """

    if event==cv2.EVENT_LBUTTONDOWN :
        print('你單機了鼠標左鍵,鼠標坐標為:%s %s'%(x,y))
        print(flags)
        print(param)

    if event==cv2.EVENT_RBUTTONDOWN :
        print('你單機了鼠標右鍵,鼠標坐標為:%s %s'%(x,y))
        print(flags)
        print(param)

    pass

cv2.setMouseCallback("new",drawxxx)  #注冊鼠標監聽事件(窗口,回調函數)
img = 255*np.ones((240,480,3),np.uint8)
cv2.imshow('new',img)


cv2.waitKey()
cv2.destroyAllWindows()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM