L'exemple de cet article décrit la méthode d'implémentation simple du carnet de croquis du traitement d'image Python. Partagez-le avec tout le monde pour référence, les détails sont les suivants :
Le traitement des images Python est également implémenté en s'appuyant sur l'interface Python d'opencv. Le langage Python est simple, facile à comprendre, concis et clair. Cette fois, pour mettre en œuvre des graffitis sur planche à dessin, la première consiste à dessiner des rectangles et des lignes à l'intérieur. D'autres peuvent également être étendus. Ce cas n'est qu'une routine. L'idée est de gérer les événements de la souris et d'ajuster la couleur de la barre de défilement. Les événements de souris incluent le traitement des événements de pression et de relâchement du bouton gauche.
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()
Le rendu final est le suivant :
Recommandations d'apprentissage associées : Tutoriel vidéo python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!