Загрузка данных


from PIL import Image, ImageFilter

def ImageLoad():
    while True:
        file_name=input("Введите название изображения (например, image.jpg): ")
        if file_name.strip():
            image = Image.open(file_name)
            return image, file_name
        print("Ошибка: файл не найден.")
        
def ImageSave(image):
    while True:
        new_name=input("Введите новое имя для изображения (например, edited_image.jpg): ")
        if new_name.strip():
            image.save(new_name)
            print(f"Изображение успешно сохранено как {new_name}")
            break
        print("Имя файла не может быть пустым.")
        print("Ошибка: файл не найден.")
def apply_filter(image):
    print("\nДоступные действия:")
    print("1. Поворот")
    print("2. Поворот, без обрезания углов")
    print("3. Фильтр черно-белый цвет")
    print("4. фильтр FIND EDGES")
    print("5. филтр CONTOUR")
    print("6. Фильтр EMBOSS")
    print("7. фильтр EDGE ENHANCE")
    print("0. Вернуться назад")

    choice = input("Выберите фильтр (ведите номер): ")

    if choice == "1":
        rotate_choice=input("Введите насколько вы хотите повернуть изображение")
        return image.rotate(rotate_choice)
    elif choice == "2":
        rotate_second_choice=input("Введите насколько вы хотите повернуть изображение")
        return image.rotate(rotate_second_choice)
    elif choice == "3":
        return image.сonvert("L")
    elif choice == "4":
        return image.filter(ImageFilter.FIND_EDGES)
    elif choice == "5":
        return image.filter(ImageFilter.CONTOUR)
    elif choice == "6":
        return image.filter(ImageFilter.EMBOSS)
    elif choice == "7":
        return image.filter(ImageFilter.EDGE_ENHANCE)
    elif choice == "0":
        return None
    else:
        print("Ошибка: Некорректное действие.")
        return None

def main():
    print("Добро пожаловать в консольный фоторедактор!")
    image, file_name = ImageLoad()

    while True:
        print("\nВыберите действия:")
        print("1. Изменить изображение")
        print("2. Сохранить изображение")
        print("3. Повторное выбрать изображение")
        print("4. Выйти")

        choice = input("Введите номер действия: ")

        if choice == "1":
            image = apply_filter(image)
            print("Фильтр успешно применен.")
        elif choice == "2":
            ImageSave(image)
        elif choice == "3":
            image, file_name = ImageLoad()
        elif choice == "4":
            print("Выход из программы. До свидания!")
            break
        else:
            print("Ошибка: Некорректное действие.")

main()