Рубрики
Без рубрики

Как вращать / зеркальные фотографии с Python

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

В нашей последней статье мы узнали, как обрезать изображения с пакетом подушки. Для этой статьи мы узнаем, как вращать и отражать наши изображения.

Вращение изображения

Вращение изображения с Python и подушкой довольно просто. Давайте посмотрим на какой-то код:

from PIL import Image

def rotate(image_path, degrees_to_rotate, saved_location):
    """
    Rotate the given photo the amount of given degreesk, show it and save it

    @param image_path: The path to the image to edit
    @param degrees_to_rotate: The number of degrees to rotate the image
    @param saved_location: Path to save the cropped image
    """
    image_obj = Image.open(image_path)
    rotated_image = image_obj.rotate(degrees_to_rotate)
    rotated_image.save(saved_location)
    rotated_image.show()

if __name__ == '__main__':
    image = 'mantis.png'
    rotate(image, 90, 'rotated_mantis.jpg')

Здесь мы просто импортируем Изображение Модуль из Пили и создать вращаться () функция. Наша собственная функция вращения принимает следующие параметры: путь изображения, который мы будем вращаться, градусы, которые мы хотим вращать и где мы хотим сохранить результат. Фактический код довольно прямой. Все, что мы делаем, это открыть изображение, а затем вызовите изображение объекта вращаться () Способ при прохождении количества градусов повернуть его против часовой стрелки. Затем мы сохраняем результат и вызовите метод Show () объекта изображения, чтобы увидеть результат:

В приведенном выше примере мы повернули молящиеся мантис на 90 градусов против часовой стрелки.

Отражает изображение

Теперь давайте попробуем перевернуть или отразить наше изображение Mantis. Вот пример, который отражает изображение слева направо:

from PIL import Image

def flip_image(image_path, saved_location):
    """
    Flip or mirror the image

    @param image_path: The path to the image to edit
    @param saved_location: Path to save the cropped image
    """
    image_obj = Image.open(image_path)
    rotated_image = image_obj.transpose(Image.FLIP_LEFT_RIGHT)
    rotated_image.save(saved_location)
    rotated_image.show()

if __name__ == '__main__':
    image = 'mantis.png'
    flip_image(image, 'flipped_mantis.jpg')

Этот код очень похож на предыдущий пример. Мясо этого кода состоит в том, что мы используем объект Image транспонировать () Способ, который принимает один из следующих констант:

  • Pil.image.flip_left_right.
  • Pil.image.flip_top_bottom.
  • Pil.image.transpose

Вы также можете использовать одну из постоянных постоянных подушек, но мы сосредоточиваемся только на аспекте зеркалирования метода транспонирования (). Попробуйте обмениваться одним из этих других констант в код выше, чтобы увидеть, что произойдет.

Обертывание

Теперь вы знаете, как использовать пакет подушки для вращения и переворачивания/зеркала ваших изображений. Python делает такую вещь довольно тривиально. Вы должны попробовать попробовать и обязательно проверить документацию подушки, чтобы узнать, что еще вы можете сделать!

Связанное чтение

  • Подушка Документация на Модуль изображения
  • Как Обрезать изображение в Python
  • Вступление к Библиотека визуализации Python/подушка