<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                使用工具:Python3.5 涉及包:cv2 函數:cv2.setMouseCallback() 簡單的程序,在圖片上雙擊過的位置繪制一個圓圈 1.創建鼠標事件回調函數,當鼠標事件發生時就會被執行。 比如左鍵按下,松開,左鍵雙擊等。可以通過鼠標事件獲得相對應的圖片上的坐標,根據這些信息可以做想做的事。所有鼠標事件回調函數都有一個統一的格式,不同的地方是被調用后的功能。 ~~~ #查看所有被支持的鼠標事件 import cv2 events = [i for i in dir(cv2) if 'EVENT' in i] print (events) ~~~ 功能實現 ~~~ import cv2 import numpy as np # mouse callback function def draw_circle(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: cv2.circle(img, (x, y), 100, (255, 0, 0), -1) # 創建圖像與窗口并將窗口與回調函數綁定 img = np.zeros((500, 500, 3), np.uint8) cv2.namedWindow('image') cv2.setMouseCallback('image', draw_circle) while (1): cv2.imshow('image', img) if cv2.waitKey(1)&0xFF == ord('q'):#按q鍵退出 break cv2.destroyAllWindows() ~~~ 高級點程序 根據我們選擇的模式在拖動鼠標時繪制矩形。所以回調函數包含兩個部分。 ~~~ import cv2 import numpy as np #當鼠標按下時為True drawing = False #如果mode為true時繪制矩形,按下'm'變成繪制曲線 mode = True ix,iy = -1,-1 #創建回調函數 def draw_circle(event,x,y,flags,param): global ix,iy,drawing,mode #當按下左鍵時返回起始位置坐標 if event == cv2.EVENT_LBUTTONDOWN: drawing = True ix,iy=x,y #當左鍵按下并移動時繪制圖形,event可以查看移動,flag查看是否按下 elif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_FLAG_LBUTTON: if drawing == True: if mode == True: cv2.rectangle(img,(ix,iy),(x,y),(0,255,0),-1) else: #繪制圓圈,小圓點連在一起就成了線,3代表筆畫的粗細 cv2.circle(img,(x,y),3,(0,0,255),-1) #當鼠標松開時停止繪圖 elif event ==cv2.EVENT_LBUTTONUP: drawing == False ''' 下面把回調函數與OpenCV窗口綁定在一起,在主循環中獎'm'鍵與模式轉換綁定在一起 ''' img = np.zeros((500,500,3),np.uint8) cv2.namedWindow('image') cv2.setMouseCallback('image',draw_circle) while(1): cv2.imshow('image',img) k=cv2.waitKey(1) if k ==ord('m'): mode=not mode elif k==ord('q'): break cv2.destroyAllWindows() ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看