Автор оригинала: Mike Driscoll.
Если вам нравится фотографировать, чем вы, вероятно, также окажетесь от времени обрезки ваших фотографий. Я буду обрезать фотографии, чтобы избавиться от фона шума или просто сосредоточиться на эту тему, которую я пытался запечатлеть. Я также люблю принимать фотографии высокого разрешения насекомых или других небольших существ, а затем обрезать его, чтобы она казалось, что я был еще ближе к насекомому, чем я действительно был.
Теперь большинство людей будут использовать приложение для редактирования фотографий для обрезания их изображения, такого как элементы Photoshop. Я тоже использую эти виды инструментов, но вы также можете использовать язык программирования Python, чтобы сделать обрезку для вас. Один хороший пример, где вы можете использовать Python, это если у вас есть тысячи отсканированных изображений того же типа, то он имеет больше смысла просто написать скрипт, чтобы сделать обрезку для вас.
Самый популярный пакет для манипуляций изображений в Python – Подушка Пакет, «дружелюбная вилка библиотеки визуализации Python (Pil)». Вы можете установить подушку, используя PIP:
pip install Pillow
Теперь, когда у нас установлена подушка, нам просто нужно фото. Вот один из кузнечиков, который я взял:
Давайте напишем какой-нибудь код, чтобы попытаться обрезать картину до головы кузнечика:
from PIL import Image def crop(image_path, coords, saved_location): """ @param image_path: The path to the image to edit @param coords: A tuple of x/y coordinates (x1, y1, x2, y2) @param saved_location: Path to save the cropped image """ image_obj = Image.open(image_path) cropped_image = image_obj.crop(coords) cropped_image.save(saved_location) cropped_image.show() if __name__ == '__main__': image = 'grasshopper.jpg' crop(image, (161, 166, 706, 1050), 'cropped.jpg')
Первое, что мы делаем в этом коде, это импортировать Изображение Подмодуль из PIL. Тогда мы создаем урожай () Функция, которая занимает 3 параметра:
- image_path – путь к файлу к файлу, который вы хотите обрезать
- Координы – 4-элементный кортеж, который содержит начало и концевые координаты для обрезания изображения для
- saved_location – путь к файлу для сохранения обрезанного файла в
После открытия исходного изображения мы получаем объект назад, что мы можем позвонить урожай () на. Метод культуры принимает координаты, которые мы прошли и посеруйте изображения соответствующим образом и возвращают второй объект изображения. Затем мы называем это второе изображение объекта Сохранить () Способ и сообщить ему, чтобы сохранить его в указанное место.
Когда вы запустите код, он покажет обрезанное изображение, а также сохранение его:
Это довольно близко к тому, что я хотел. Вы можете немного экспериментировать с координатами X/Y в коде выше, чтобы попробовать обрезку изображения различными способами, чтобы увидеть, как это работает.
Обертывание
Этот код, вероятно, должен иметь проверку в нем, что предотвращает перезаписи пользователя исходное изображение. Любой хороший редактор фото не будет перезаписать оригинальную фотографию, как это действительно раздражает и обычно плохое. Но я оставлю это читателю, чтобы понять это.
Во всяком случае, подушка проекта является действительно мощным и полезным пакетом для работы с изображениями в Python. Дайте это попробовать и посмотрите, что забавные вещи, которые вы можете достичь!
Связанное чтение
- Вступление к Библиотека визуализации Python/подушка