Heim  >  Artikel  >  Backend-Entwicklung  >  Einfache Zeichenbrett-Implementierungsmethode für die Python-Bildverarbeitung

Einfache Zeichenbrett-Implementierungsmethode für die Python-Bildverarbeitung

coldplay.xixi
coldplay.xixinach vorne
2020-08-07 15:55:022979Durchsuche

Einfache Zeichenbrett-Implementierungsmethode für die Python-Bildverarbeitung

Das Beispiel in diesem Artikel beschreibt die einfache Zeichenbrett-Implementierungsmethode der Python-Bildverarbeitung. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Python-Bildverarbeitung wird auch mithilfe der Python-Schnittstelle von opencv implementiert. Die Python-Sprache ist einfach, leicht verständlich, prägnant und klar. Dieses Mal besteht die Möglichkeit, ein Zeichenbrett-Graffiti umzusetzen, darin, Rechtecke und Linien zu zeichnen. Andere können auch erweitert werden. In diesem Fall handelt es sich lediglich um eine Routine. Die Idee besteht darin, Mausereignisse zu verarbeiten und die Farbe der Bildlaufleiste anzupassen. Zu den Mausereignissen gehört die Ereignisverarbeitung für das Drücken und Loslassen der linken Maustaste.

import cv2
import numpy as np
# null function
def nothing(x):
  pass
Drawing = False
Mode = True
IX,IY = -1,-1
def drawCircle(Event,X,Y,Flags,Param):
  R = cv2.getTrackbarPos('R','Image')
  G = cv2.getTrackbarPos('G','Image')
  B = cv2.getTrackbarPos('B','Image')
#get color value
  Color = (B,G,R);
  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),3,Color,-1);
  elif Event == cv2.EVENT_LBUTTONUP:
    Drawing = False
#create image with 3 chanels
Img = np.zeros((660,660,3),np.uint8)
#create window
cv2.namedWindow('Image')
#create track bar, range for 0~255
cv2.createTrackbar('R','Image',0,255,nothing)
cv2.createTrackbar('G','Image',0,255,nothing)
cv2.createTrackbar('B','Image',0,255,nothing)
#set mouse ack
cv2.setMouseCallback('Image',drawCircle)
while(1):
  cv2.imshow('Image',Img)
  k = cv2.waitKey(10)&0xFF
  #switch draw mode
  if k == ord('m'):
    Mode = not Mode
  elif k == 27:
    break
#you must destroy all of sources
cv2.destroyAllWindows()

Das endgültige Rendering sieht wie folgt aus:

Verwandte Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEinfache Zeichenbrett-Implementierungsmethode für die Python-Bildverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen