ФорумПрограммированиеPython → поворот изображений python для чайника

поворот изображений python для чайника

  • annashchukina

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Апрель 25, 2018, 3:40 п.п.

    Дан csv файл
    в первом столбце - наименование изображений
    в третьем - угол на который их надо повернуть

    не соображаю как это сделать
    каждое изображение на определенный угол - и сохранить

    прошу помощи

    from PIL import Image
    from PIL import ImageDraw
    import csv
    
    FILENAME = "objects1.csv"
    
    with open(FILENAME, "r", newline="") as file:
        reader = csv.reader(file)
        for line in reader:
            img = Image.open(line[0])
            #img.show()
            print(line[2])
            out = img.rotate(line[2])
            #out.show()

    изображения таки выводятся
    но не перевернутые на углы из line[2]
    not all arguments converted during string formatting

    сsv файл
    img000000.jpg,sub_F/A-18,330
    img000001.jpg,sub_F/A-18,284
    img000002.jpg,sub_F/A-18,239
    img000003.jpg,sub_F/A-18,202
    img000004.jpg,sub_F/A-18,320
    img000005.jpg,sub_F/A-18,136
    img000006.jpg,sub_F/A-18,60
    img000007.jpg,sub_F/A-18,126
    img000008.jpg,sub_F/A-18,170
    img000009.jpg,sub_F/A-18,245
    img000010.jpg,sub_F/A-18,178

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Апрель 25, 2018, 3:44 п.п., спустя 4 минуты 41 секунду

    @annashchukina, может не сохраняете после rotate? попробуйте по этим примерам сделать Rotate Images with PIL/Pillow [matthiaseisen.com]

  • annashchukina

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Апрель 25, 2018, 4:27 п.п., спустя 42 минуты 17 секунд

    @Sinkler
    вывожу out.show() (выше она просто закоментирована)

    питон ругается именно на line[2] в команде rotate
    not all arguments converted during string formatting

    не хочет брать числа из третьего столбца и каждое изображение переворачивать на каждое число((

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Апрель 25, 2018, 4:31 п.п., спустя 4 минуты 29 секунд

    @annashchukina, попробуйте к int привести out = img.rotate(int(line[2]))

  • annashchukina

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Апрель 25, 2018, 4:52 п.п., спустя 21 минуту 10 секунд

    @Sinkler

    большоооое спасибо
    стыдно за себя
    спасибо за помощь!

    буду вечно благодарна, если Вы подскажете как их все (новые развернутые 11 изображений ) сохранить в n-ую папку

    out.save('11/img_.jpg')
    так сохраняется, конечно же , одно первое

    заранее спасибо
    да я чайничек

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Апрель 25, 2018, 4:59 п.п., спустя 6 минут 11 секунд

    @annashchukina,

    
    import os.path
    from PIL import Image
    from PIL import ImageDraw
    import csv
    
    FILENAME = "objects1.csv"
    
    with open(FILENAME, "r", newline="") as file:
        reader = csv.reader(file)
        for line in reader:
            img = Image.open(line[0])
            #img.show()
            print(line[2])
            out = img.rotate(line[2])
            # SAVE HERE
            out.save(os.path.join('new_dir', line[0]))
    
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • annashchukina

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Апрель 25, 2018, 5:03 п.п., спустя 4 минуты 45 секунд

    @adw0rd
    @Sinkler

    Большое Вам спасибо!:*

Пожалуйста, авторизуйтесь, чтобы написать комментарий!