国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

opencv for python——使用Trackbar實(shí)現(xiàn)繪圖板

2019-11-06 07:32:17
字體:
供稿:網(wǎng)友

本次實(shí)驗(yàn)利用到了cv2中的createTrackbar和getTrackbarPos函數(shù)實(shí)現(xiàn)一個(gè)繪圖板的功能,用戶可以選擇矩形或是畫筆模式,并設(shè)置調(diào)色板中的值來選擇顏色,再選擇畫筆大小,進(jìn)行繪圖。除此之外,還可以用橡皮擦進(jìn)行擦除,模式同樣也分為矩形和畫筆。下面是具體的代碼:

import cv2import numpy as npdrawing = Falsemode = Trueix, iy = -1, -1def nothing(x): passdef draw_circle(event,x,y,flags,param): r = cv2.getTrackbarPos('R','image') g = cv2.getTrackbarPos('G','image') b = cv2.getTrackbarPos('B','image') color = (b,g,r) if s == 1: color = (255,255,255) s = cv2.getTrackbarPos('eraser','image') thin = cv2.getTrackbarPos('thin','image') global ix,iy,drawing,mode if event == cv2.EVENT_LBUTTONDOWN: drawing = True ix,iy = x,y elif event == cv2.EVENT_MOUSEMOVE and flags == cv2.EVENT_FLAG_LBUTTON: if drawing == True: if mode == True: cv2.rectangle(img, (ix,iy),(x,y),color,-1) else: cv2.circle(img,(x,y),thin,color,-1) elif event == cv2.EVENT_LBUTTONUP: drawing == Falseimg = np.zeros((512,512,3), np.uint8)img[:] = 255cv2.namedWindow('image')cv2.createTrackbar('R','image',0,255,nothing)cv2.createTrackbar('G','image',0,255,nothing)cv2.createTrackbar('B','image',0,255,nothing)cv2.createTrackbar('eraser','image',0,1,nothing)cv2.createTrackbar('thin','image',1,50,nothing)cv2.setMouseCallback('image', draw_circle)while(1): cv2.imshow('image',img) k = cv2.waitKey(1) & 0xFF if k == ord('m'): mode = not mode elif k == 27: break

下面是運(yùn)行的結(jié)果: 1.運(yùn)行初始界面 這里寫圖片描述 2.選擇顏色分別進(jìn)行矩形繪圖和畫筆繪圖,此圖中的畫筆的大小為1 這里寫圖片描述 3.此時(shí)的畫筆大小為15 這里寫圖片描述 4.使用大小為15的橡皮擦擦除面板(選擇了畫筆模式的橡皮擦) 這里寫圖片描述 5.使用大小為4的橡皮擦擦除面板(選擇了畫筆模式的橡皮擦) 這里寫圖片描述


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥经县| 万年县| 天长市| 平利县| 阿克| 乐业县| 神农架林区| 信丰县| 新巴尔虎左旗| 乌审旗| 通化市| 犍为县| 鲁山县| 玛纳斯县| 越西县| 深州市| 镇雄县| 沧州市| 烟台市| 澄迈县| 咸阳市| 衡阳市| 钟山县| 竹北市| 施秉县| 土默特右旗| 永定县| 赤壁市| 黄石市| 个旧市| 无极县| 托克逊县| 松江区| 涪陵区| 惠东县| 彭泽县| 八宿县| 沿河| 烟台市| 白沙| 突泉县|