python opencv3 窗口顯示攝像頭的幀


 git:https://github.com/linyi0604/Computer-Vision

 1 # coding:utf8
 2 
 3 import cv2  4 
 5 
 6 """
 7 在窗口顯示攝像頭幀  8 
 9  namedWindow() 指定窗口名 10  imshow() 創建窗口 11  DestroyWindow() 銷毀所有窗口 12  waitKey() 獲取鍵盤輸入 13  setMouseCallback() 獲取鼠標輸入 14 
15 """
16 """
17  opencv窗口只有調用waitKey()后才能實時更新 18  waitKey() 只有窗口創建后才能捕獲鍵盤 19 """
20 
21 clicked = False 22 
23 
24 def onMouse(event, x, y, flags, param): 25     global clicked 26     if event == cv2.EVENT_LBUTTONUP: 27         clicked = True 28 
29 
30 cameraCapture = cv2.VideoCapture(0)     # 傳入攝像頭設備的索引
31 cv2.namedWindow("MyWindow")     # 設置窗口名稱
32 cv2.setMouseCallback("MyWindow", onMouse)  # 傳入窗口名稱和響應捕獲的函數
33 """
34 setMouseCallback() 第二個參數接收一個回調函數 35 回調事件可以取值如下: 36  cv2.EVENT_MOUSEMOVE 鼠標移動 37  cv2.EVENT_LBUTTONDOWN 左按鍵按下 38  cv2.EVENT_RBUTTONDOWN 右按鍵按下 39  cv2.EVENT_MBUTTONDOWN 中間鍵按下 40  cv2.EVENT_LBUTTONDBLCLK 雙擊左鍵 41  cv2.EVENT_RBUTTONDBLCLK 雙擊右鍵 42  cv2.EVENT_MBUTTONDBLCLK 雙擊中間 43     
44 鼠標回調的標志參數可能是以下事件的桉位組合: 45  cv2.EVENT_FLAG_LBUTTON 按下鼠標左鍵 46  cv2.EVENT_FLAG_RBUTTON 按下鼠標右鍵 47  cv2.EVENT_FLAG_MBUTTON 按下中間 48  cv2.EVENT_FLAG_CTRLKEY 按下ctrl鍵 49  cv2.EVENT_FLAG_SHITKEY 按下shift鍵 50  cv2.EVENT_FLAG_ALTKEY 按下alt鍵 51 """
52 
53 print("點擊窗口或者按鍵停止") 54 
55 success, frame = cameraCapture.read() 56 while success and cv2.waitKey(1) == -1 and not clicked: 57     cv2.imshow("MyWindow", frame) 58     success, frame = cameraCapture.read() 59 
60 cv2.destroyAllWindows() 61 cameraCapture.release()

 


免責聲明!

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



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