溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用python openCV實(shí)現(xiàn)繪畫板

發(fā)布時(shí)間:2020-10-28 14:52:09 來源:億速云 閱讀:217 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用python openCV實(shí)現(xiàn)繪畫板,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

import numpy as np
import cv2
def nothing(x):
  pass
cv2.namedWindow('image')
img = np.zeros((512,512,3),np.uint8)
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
drawing = False
mode = True
ix,iy = -1,-1
def drawing_fragment(event,x,y,flags,param):
  r = cv2.getTrackbarPos('R','image')
  g = cv2.getTrackbarPos('G','image')
  b = cv2.getTrackbarPos('B','image')
  color = (b,g,r)
  global drawing,ix,iy,mode
  if event == cv2.EVENT_LBUTTONDOWN:
    drawing = True
    ix = x
    iy = y
  elif event == cv2.EVENT_MOUSEMOVE:
    if drawing:
      if mode:
        cv2.rectangle(img,(ix,iy),(x,y),color,-1)
      else:
        cv2.circle(img,(x,y),5,color,-1)
  elif event == cv2.EVENT_LBUTTONUP:
    drawing = False

cv2.setMouseCallback('image',drawing_fragment)
while True:
  cv2.imshow('image',img)
  k = cv2.waitKey(2)
  if k == 27:
    break
  elif k == ord('q'):
    mode = not mode
cv2.destroyAllWindows()

測(cè)試效果

使用python openCV實(shí)現(xiàn)繪畫板

看完上述內(nèi)容,你們對(duì)使用python openCV實(shí)現(xiàn)繪畫板有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI