最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

opencv鎖定鼠標(biāo)定位的實現(xiàn)

 更新時間:2023年02月16日 09:37:01   作者:lqj_本人  
本文主要介紹了opencv鎖定鼠標(biāo)定位的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

控制鼠標(biāo)

opencv允許我們對窗口的鼠標(biāo)動作做出響應(yīng):

setMouseCallback(winname,callback,userdata)

1.winname是窗口的名字

2.callback是回調(diào)函數(shù)

3.userdata是給回調(diào)函數(shù)的參數(shù)

callback(event,x,y,flags,userdata)回調(diào)函數(shù)必須包含這5個參數(shù):

1.event:事件(鼠標(biāo)拖動,左鍵,右鍵等)

2.x,y:點擊鼠標(biāo)的坐標(biāo)點

3.flags:主要用于組合鍵

4.userdata:上面的setMouseCallback的userdata

鼠標(biāo)事件:

  • EVENT_MOUSEMOVE 0 鼠標(biāo)移動
  • EVENT_LBUTTONDOWN 1 按下鼠標(biāo)左鍵
  • EVENT_RBUTTONDOWN 2 按下鼠標(biāo)右鍵
  • EVENT_MBUTTONDOWN 3 按下鼠標(biāo)中鍵
  • EVENT_LBUTTONUP 4 左鍵釋放
  • EVENT_RBUTTONUP 5 右鍵釋放
  • EVENT_MBUTTONUP 6 中鍵釋放
  • EVENT_LBUTTONDBLCLK 7 左鍵雙擊
  • EVENT_RBUTTONDBLCLK 8 右鍵雙擊
  • EVENT_MBUTTONDBLCLK 9 中鍵雙擊
  • EVENT_MOUSEWHEEL 10 鼠標(biāo)滾輪上下滾動
  • EVENT_MOUSEHWHEEL 11 鼠標(biāo)左右滾動

flags:

  • EVENT_FLAG_LBUTTON 1 按下左鍵
  • EVENT_FLAG_RBUTTON 2 按下右鍵
  • EVENT_FLAG_MBUTTON 4 按下右鍵
  • EVENT_FLAG_CRTLKEY 8 按下ctrl鍵
  • EVENT_FLAG_SHIFTKEY 16 按下shift鍵
  • EVENT_FLAG_ALTKEY 32 按下alt鍵

導(dǎo)入相應(yīng)的庫

import cv2
import numpy as np

創(chuàng)建方法

創(chuàng)建并輸出回調(diào)函數(shù)的五個參數(shù)

 def mouse_callback(event,x,y,flags,userdata):
    print(event,x,y,flags,userdata)

創(chuàng)建窗口

cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)

設(shè)置鼠標(biāo)回調(diào)函數(shù)

cv2.setMouseCallback('mouse',mouse_callback,'123')

設(shè)置生成的窗口背景

img = np.zeros((360,640,3),np.uint8)

綁定鍵盤監(jiān)聽事件

while True:
    cv2.imshow('mouse',img)
    key = cv2.waitKey(1)
    if key & 0XFF == ord('q'):
        break

釋放窗口

cv2.destroyAllWindows()

效果展示

當(dāng)鼠標(biāo)出現(xiàn)在窗口中時,即開始跟蹤鼠標(biāo)的位置,并完成位置的實時打?。?/p>

完整學(xué)習(xí)代碼

import cv2
import numpy as np
  
def mouse_callback(event,x,y,flags,userdata):
    print(event,x,y,flags,userdata)
 
cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)
 
#設(shè)置鼠標(biāo)回調(diào)函數(shù)
cv2.setMouseCallback('mouse',mouse_callback,'123')
 
#顯示窗口和背景
#生成全黑的圖片
img = np.zeros((360,640,3),np.uint8)
while True:
    cv2.imshow('mouse',img)
    key = cv2.waitKey(1)
    if key & 0XFF == ord('q'):
        break
cv2.destroyAllWindows()

到此這篇關(guān)于opencv鎖定鼠標(biāo)定位的實現(xiàn)的文章就介紹到這了,更多相關(guān)opencv鎖定鼠標(biāo)定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

贵定县| 浏阳市| 辉县市| 麦盖提县| 阳原县| 德清县| 秦安县| 双峰县| 承德市| 朔州市| 拜城县| 崇信县| 若尔盖县| 济南市| 恭城| 邮箱| 合作市| 中超| 石屏县| 永善县| 思南县| 茶陵县| 尉犁县| 土默特左旗| 克什克腾旗| 梓潼县| 中西区| 乐昌市| 淄博市| 茶陵县| 西乡县| 平乡县| 广西| 屏南县| 西盟| 关岭| 河北区| 加查县| 班玛县| 镇安县| 自贡市|