import cv2
import numpy as np
import matplotlib.pyplot as plt
largeur = 100
hauteur = 50
dessin = False
image = None
couleur = [0,0,0]
def remplirNoir(image):
global couleur
couleur = [0,0,0]
image[...] = couleur
return image
def remplirCouleur(image):
global couleur
couleur = np.random.randint(0, 255,3,np.uint8)
image[...] = couleur
return image
def remplirRectangle(image,largeur,hauteur):
image[...] = couleur
xmin = int((image.shape[1]-largeur)/2)
xmax = int((image.shape[1]+largeur)/2)
ymin = int((image.shape[0]-hauteur)/2)
ymax = int((image.shape[0]+hauteur)/2)
image[ymin:ymax,xmin:xmax] = np.random.randint(0, 255,3,np.uint8)
return image
def effacerRectangle(image,largeur,hauteur):
image[...] = couleur
return image
def setLargeur(v):
global largeur, image
largeur = v
if dessin:
image = remplirRectangle(image,largeur,hauteur)
cv2.imshow('image originale',image)
def setHauteur(v):
global hauteur, image
hauteur = v
if dessin:
image = remplirRectangle(image,largeur,hauteur)
cv2.imshow('image originale',image)
image = np.zeros((480,640,3), np.uint8)
cv2.namedWindow('image originale')
cv2.createTrackbar('Largeur','image originale',largeur,image.shape[1],setLargeur)
cv2.createTrackbar('Hauteur','image originale',hauteur,image.shape[0],setHauteur)
cv2.imshow('image originale',image)
while True:
key = cv2.waitKey(30) & 0x0FF
if key == 27 or key==ord('q'):
break;
if key ==ord('n'):
image = remplirNoir(image)
if dessin:
remplirRectangle(image,largeur,hauteur)
cv2.imshow('image originale',image)
if key ==ord('c'):
image = remplirCouleur(image)
if dessin:
image = remplirRectangle(image,largeur,hauteur)
cv2.imshow('image originale',image)
if key ==ord('r'):
dessin = not dessin
if dessin:
image = remplirRectangle(image,largeur,hauteur)
else:
image = effacerRectangle(image,largeur,hauteur)
cv2.imshow('image originale',image)
print('arrêt du programme par l\'utilisateur')
cv2.destroyWindow('image originale')
arrêt du programme par l'utilisateur