def filter_message(image, msg): ''' :param image: L'image sur laquelle on va appliquer le filtre :param msg: Le message récupéré et ecris sur l'image :return: L'image avec le filtre appliqué ''' image_message = cv2.putText(image, msg, (10, 150), cv2.FONT_HERSHEY_TRIPLEX, 1, (255, 255, 255)) logger.log_in_file(' Applying a blur filter...') return image_message
def filter_grayscale(image): """ :param image: L'image sur laquelle on va appliquer le filtre :return: L'image avec le filtre appliqué """ # Applique un filtre Noir&Blanc sur l'image image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) logger.log_in_file(' Applying a grayscale filter...') # retourne l'image avec le filtre return image_gray
def filter_blur(image, value): """ :param image: L'image sur laquelle on va appliquer le filtre :param value: Intensité du filtre :return: L'image avec le filtre appliqué """ # Applique un filtre de flou image_blur = cv2.GaussianBlur(image, (value, value), 9) logger.log_in_file(' Applying a blur filter...') # retourne l'image avec le filtre return image_blur
def filter_dilate(image, value): """ :param image: L'image sur laquelle on va appliquer le filtre :param value: Le nombre de fois qu'on va appliquer le filtre sur l'image :return: L'image avec le filtre appliqué """ # Applique un filtre Dilatation kernel = np.ones((5, 5), np.uint8) image_dilate = cv2.dilate(image, kernel, iterations=value) logger.log_in_file(' Applying a dilate filter...') # retourne l'image avec le filtre return image_dilate
path_input = args[i + 1] # Prends l'argument qui suit le '-i' if os.path.exists(path_input): # Vérifie que le dossier existe input_dir = path_input # Chemin dossier 'input' files = os.listdir(input_dir) # Retourne une liste de ce qui se trouve dans le dossier 'input' else: print('Chemin incorrect') except IndexError as e: print(e) if arg == '--filters': for f in files: try: file_path = f"{input_dir}/{f}" # Va cherche un element de la liste à chaque tour de boucle image = cv2.imread(file_path) logger.log_in_file(f'Opening image = ' + file_path) # récupère l'image de base filters = args[i + 1] split_filters = filters.split("|") for s in split_filters: # Application des filtres if 'blur' in s: split_filter = s.split(":") value = split_filter[1] value_int = int(value) image = gaussianblur.filter_blur(image,value_int) if 'dilate' in s: split_filter = s.split(":") value = split_filter[1] value_int = int(value)