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
Exemple #2
0
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
Exemple #3
0
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)