Как автоматически поворачивать изображения, если они вертикальные - PullRequest
0 голосов
/ 13 февраля 2020

Я недавно начал кодировать несколько дней go, и я пытаюсь написать программу, которая обрезает изображения и затем складывает их. В настоящее время я все еще на первом этапе. Я хочу сделать это там, где после обрезки изображения, если нет, повернуть его в горизонтальное положение. Спасибо за потраченное время.

Редактировать: Итак, я смог заставить его вращаться, но теперь мой повернутый файл имеет гигантские черные ящики сверху и снизу, каждый знает, как это удалить.

from PIL import Image

# Convert list in variables
print("Type in the coordinates for the upper left (x1,y1) and bottom right (x2,y2) points")
coordinates = list(map(int, input("Separate values with a space (x1 y1 x2 y2): ").strip().split()))[:4]
x1, y1, x2, y2 = coordinates
print("Generating image...")

# Accessing file from folder
im = Image.open("C:\\Users\\Alex\\Desktop\\Ps\\2.tiff")

# Cropping function
selected_region = (x1, y1, x2, y2)
cropped_region = im.crop(selected_region)
# Current line I am trying to add to rotate images
selected_region = (x1, y1, x2, y2)
cropped_region = im.crop(selected_region)

if (y2-y1)>(x2-x1):
    rotated_image = cropped_region.rotate(90)
else:
    rotated_image = cropped_region
cropped_region.show()
cropped_region.save("C:\\Users\\Alex\Desktop\\Ps\\Output\\2_cropped.tiff", quality=95)
rotated_image.save("C:\\Users\\Alex\Desktop\\Ps\\Output\\rotated.tiff", quality=95)

Кроме того, надеюсь, это не требует слишком многого. Итак, в этом коде я обрезаю одно изображение, есть ли способ повторить это для всех (около 500) изображений в одной папке (все помечены как test1.tiff, test2.tiff, test3.tiff ...)

...