【第四節(jié)】把鼠標當畫筆
目標
學(xué)習(xí)使用OpenCV處理鼠標事件
你將要學(xué)習(xí)的函數(shù)是:CV2.setMouseCallback()
1、簡單演示
????????這里我們來創(chuàng)建一個簡單的程序,他會在圖片上你雙擊過的位置繪制一個圓圈。
????????首先我們來創(chuàng)建一個鼠標事件回調(diào)函數(shù),但鼠標事件發(fā)生是他就會被執(zhí)行。鼠標事件可以是鼠標上的任何動作,我們可以通過鼠標事件獲得與鼠標對應(yīng)的圖片上的坐標。根據(jù)這些信息我們可以做任何我們想做的事。你可以通過執(zhí)行下列代碼查看所有被支持的鼠標事件。
????????所有的鼠標事件回調(diào)函數(shù)都有一個統(tǒng)一的格式,他們所不同的地方僅僅是被調(diào)用后的功能。我們的鼠標事件回調(diào)函數(shù)只用做一件事:在雙擊過的地方繪制一個圓圈。下面是代碼:
2、高級一點的示例
????????現(xiàn)在我們來創(chuàng)建一個更好的程序。這次我們的程序要完成的任務(wù)是根據(jù)我們選擇的模式在拖動鼠標時繪制矩形或者是圓圈(就像畫圖程序中一樣)。所以我們的回調(diào)函數(shù)包含兩部分,一部分畫矩形,一部分畫圓圈。這是一個典型的例子他可以幫助我們更好理解與構(gòu)建人機交互式程序,比如物體跟蹤,圖像分割等。
標簽: