国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python 基于opencv 實現一個鼠標繪圖小程序

瀏覽:178日期:2022-07-02 14:47:31
需求

在畫布上用鼠標畫圖,可以畫圓或矩形,按m鍵在兩種模式下切換。左鍵按下時開始畫圖,移動到哪兒畫到哪兒,左鍵釋放時結束畫圖。

實現思想

用鼠標畫圖:需要定義鼠標的回調函數mouse_event畫圓或矩形:需要定義一個畫圖的模式mode左鍵單擊、移動、釋放:需要捕獲三個不同的事件開始畫圖,結束畫圖:需要定義一個畫圖的標記位drawing

實現代碼

import cv2 as cvimport numpy as npdrawing = False # 是否開始畫圖mode = True # True:畫矩形,False:畫圓start = (-1, -1)# 鼠標的回調函數的參數格式是固定的,不要隨意更改。def mouse_event(event, x, y, flags, param): global start, drawing, mode # 左鍵按下:開始畫圖 if event == cv.EVENT_LBUTTONDOWN: drawing = True start = (x, y) # 鼠標移動,畫圖 elif event == cv.EVENT_MOUSEMOVE: if drawing: if mode:cv.rectangle(img, start, (x, y), (0, 255, 0), -1) else:cv.circle(img, (x, y), 5, (0, 0, 255), -1) # 左鍵釋放:結束畫圖 elif event == cv.EVENT_LBUTTONUP: drawing = False if mode: cv.rectangle(img, start, (x, y), (0, 255, 0), -1) else: cv.circle(img, (x, y), 5, (0, 0, 255), -1)img = np.zeros((512, 512, 3), np.uint8)cv.namedWindow(’image’)cv.setMouseCallback(’image’, mouse_event)while(True): cv.imshow(’image’, img) # 按下m切換模式 if cv.waitKey(1) == ord(’m’): mode = not mode # 按ESC鍵退出程序 elif cv.waitKey(1) == 27: break實驗結果

python 基于opencv 實現一個鼠標繪圖小程序

以上就是python 基于opencv 實現一個鼠標繪圖小程序的詳細內容,更多關于python 鼠標繪圖的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 伊宁县| 密山市| 循化| 尼木县| 都匀市| 抚远县| 勐海县| 乌拉特中旗| 平江县| 五家渠市| 洛浦县| 阳山县| 通渭县| 柘城县| 五莲县| 宁津县| 长泰县| 枞阳县| 将乐县| 灵丘县| 郸城县| 鸡西市| 平泉县| 深水埗区| 肇源县| 兖州市| 广南县| 民丰县| 吉水县| 九龙城区| 灵宝市| 临西县| 凉城县| 焦作市| 瑞金市| 吉水县| 巢湖市| 安龙县| 上林县| 宁化县| 河间市|