Обрезка изображения в Python, используя библиотеку Pillow
Модуль Image
из библиотеки для обработки изображений Pillow (PIL) предоставляет функцию crop()
для обрезки части изображения по указанным координатам.
Далее мы напишем код для решения следующих задач:
- Обычная обрезка картинки;
- Обрезка изображения за пределами её размеров;
- Обрезка центральной части картинки;
- Обрезка наиболее крупного квадрата из прямоугольника, миниатюра для записи на блоге.
Содержание статьи
- Простая обрезка изображения в Pillow
- Обрезка изображения за её пределами
- Обрезка изображения по центру в PIL
- Вырезаем квадрат из прямоугольника
Установка библиотеки PIL
pip install —upgrade Pillow
pip install —upgrade Pillow |
При желании создать изображение с прозрачным фоном, обрезав какую-то другую форму, помимо прямоугольника (к примеру, круг), можно использовать
.
Связанная статья: Создание изображения с прозрачным фоном
Импортируем Image
из PIL
и откроем нужное изображение. Вы можете сохранить ниже предоставленную картинку под названием guido-van-rossum.jpg и начать работу с ней.
from PIL import Image im = Image.open(‘guido-van-rossum.jpg’) img.show()
from PIL import Image
im = Image.open(‘guido-van-rossum.jpg’) img.show() |
Простая обрезка изображения в Pillow
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower)
.
Верхней левой координате соответствует (x, y) = (left, upper)
, а нижней правой — (x, y) = (right, lower)
. Область, которую нужно обрезать — left <= x <right
и upper <= y <lower
, а пиксели x = right
и y = lower
не включаются.
Не забудьте, что box
используется вместе со скобками ()
.
from PIL import Image im = Image.open(‘guido-van-rossum.jpg’) im_crop = im.crop((100, 75, 300, 150)) im_crop.save(‘guido_pillow_crop.jpg’, quality=95)
1 2 3 4 5 6 | from PIL import Image
im = Image.open(‘guido-van-rossum.jpg’) im_crop = im.crop((100, 75, 300, 150)) im_crop.save(‘guido_pillow_crop.jpg’, quality=95) |
Если вы просто хотите сохранить обрезанную картинку без другой обработки, можете использовать следующий код:
Pythonim.crop((100, 75, 300, 150)).save(‘guido_pillow_crop.jpg’, quality=95)
im.crop((100, 75, 300, 150)).save(‘guido_pillow_crop.jpg’, quality=95) |
Обрезка изображения за её пределами
Если область за пределами размеров картинки включается в область обрезки, ошибок не будет — данная часть изображения просто будет окрашена в черный цвет.
Pythonfrom PIL import Image im = Image.open(‘guido-van-rossum.jpg’) im_crop_outside = im.crop((100, 175, 300, 250)) im_crop_outside.save(‘guido_pillow_crop_outside.jpg’, quality=95)
1 2 3 4 5 6 | from PIL import Image
im = Image.open(‘guido-van-rossum.jpg’) im_crop_outside = im.crop((100, 175, 300, 250)) im_crop_outside.save(‘guido_pillow_crop_outside.jpg’, quality=95) |
Обрезка изображения по центру в PIL
Если вы хотите вырезать центр изображения определенного размера, то функция crop_center
поможет в решении этой задачи:
from PIL import Image def crop_center(pil_img, crop_width: int, crop_height: int) -> Image: «»» Функция для обрезки изображения по центру. «»» img_width, img_height = pil_img. size return pil_img.crop(((img_width — crop_width) // 2, (img_height — crop_height) // 2, (img_width + crop_width) // 2, (img_height + crop_height) // 2)) im = Image.open(‘guido-van-rossum.jpg’) im_new = crop_center(im, 200, 200) im_new.save(‘guido_crop_center.jpg’, quality=95)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from PIL import Image
def crop_center(pil_img, crop_width: int, crop_height: int) -> Image: «»» Функция для обрезки изображения по центру. «»» img_width, img_height = pil_img.size return pil_img.crop(((img_width — crop_width) // 2, (img_height — crop_height) // 2, (img_width + crop_width) // 2, (img_height + crop_height) // 2))
im = Image. open(‘guido-van-rossum.jpg’) im_new = crop_center(im, 200, 200) im_new.save(‘guido_crop_center.jpg’, quality=95) |
Вырезаем квадрат из прямоугольника
При создании миниатюр записей для блога на Django, зачастую требуется вырезать максимально возможный квадрат из прямоугольного изображения.
Создаем функцию, которая обрезает квадрат из центра прямоугольного изображения:
Pythondef crop_max_square(pil_img): return crop_center(pil_img, min(pil_img.size), min(pil_img.size))
def crop_max_square(pil_img): return crop_center(pil_img, min(pil_img.size), min(pil_img.size)) |
Пример использования данной функции:
Pythonfrom PIL import Image def crop_center(pil_img, crop_width: int, crop_height: int) -> Image: «»» Функция для обрезки изображения по центру.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from PIL import Image
def crop_center(pil_img, crop_width: int, crop_height: int) -> Image: «»» Функция для обрезки изображения по центру. «»» img_width, img_height = pil_img.size return pil_img.crop(((img_width — crop_width) // 2, (img_height — crop_height) // 2, (img_width + crop_width) // 2, (img_height + crop_height) // 2))
def crop_max_square(pil_img): return crop_center(pil_img, min(pil_img.size), min(pil_img.size))
im = Image.open(‘guido-van-rossum.jpg’) im_new = crop_max_square(im) im_new.save(‘guido_crop_max_square.jpg’, quality=95) |
Результатом этого кода будет данная картинка:
Vasile Buldumac
Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.
E-mail: [email protected]
Образование
Universitatea Tehnică a Moldovei (utm.md)
- 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»
Кто, как и зачем в древности смог так ровно разрезать камень Аль-Наслаа пополам? / Путешествия и туризм / iXBT Live
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики. Продолжая посещать сайты проектов вы соглашаетесь с нашей Политикой в отношении файлов cookie
На территории Саудовской Аравии есть необычный камень, который годами озадачивал исследователей. Несмотря на существование большого количества теорий и гипотез, до сих пор нет однозначного ответа о его происхождении.
Скала, называемая Аль-Наслаа, стала известна европейской цивилизации благодаря французскому путешественнику Шарлю Хуберу, который наткнулся на этот камень в ходе своей экспедиции в 1883 году. Как видно, этот древний камень был идеально ровно разрезан на 2 части.Аль-Наслаа — это скала, которую можно найти в 45 км к югу от оазиса Тайма, или в 310 км к северу от города Медина. Размеры камня — 6 метров в высоту и 9 метров в ширину, а масса — около 24 тонн. На его поверхности были найдены петроглифы, возраст которых оценивают в ~ 4 тысячи лет. А раскопки в оазисе показали, что люди поселились в этом регионе как минимум 6 тыс. лет назад.
Из-за его расположения Хубер предположил, что этот камень является персидским памятником. Однако согласно более поздним исследованиям, камень может быть артефактом эпохи Набатейского царства, жители которого населяли юг современной Иордании в 3 веке до н.э — 1 веке н.э.
Эта гипотеза была основана на том, что набатейцы использовали широкий спектр строительных материалов, включая и твердый песчаник, из которого состоит Аль-Наслаа. Предполагалось, что камень был разрезан ими пополам, а затем обе его половины были водружены на небольшую каменную платформу.
Петроглиф с изображением лошадиСлово «Аль-Наслаа» происходит от корня «нсл», что в арабском языке означает «резать» или «клинок». Это поэтическое название дали камню жители оазиса, возле которого он находится. Из названия следует, что люди, населявшие этот оазис в древности, считали, будто камень был кем-то разрезан. В наше время есть несколько версий того, как Аль-Наслаа приобрел столь необычную форму.
Аль-Наслаа состоит из твердого, но пористого песчаника. С тех пор как француз нашел эту скалу, люди пытались объяснить, как можно было так ровно разрезать эту махину. Многие до сих пор ошибочно полагают, будто столь ровный срез сложно получить даже с помощью современных инструментов, и якобы без лазерной резки это практически нереально
Выдвигались теории, что камень был распилен в горизонтальном положении при помощи пилы и воды, а затем его половины перевернули и установили так, чтобы срез располагался вертикально. Другие теории гласили, что скалу разделили на 2 части при помощи огромного вращающегося пильного диска, сделанного из камня более твердой породы.
На самом деле камень размером с Аль-Наслаа (или даже больше) можно расколоть на 2 части с помощью таких примитивных инструментов, как металлические колья и молот. Скол не всегда будет идеально прямым, но небольшие шероховатости и неровности можно устранить шлифовкой.
В сети сейчас легко найти множество видеороликов, где камни раскалывают при помощи этой старой простой технологии. Выше можете увидеть пример с гранитной глыбой, а ниже — пример, как скалу высотой 9 метров разделили надвое в южной Индии в 2019 году. Верхняя треть среза получилась удивительно ровная:
Самое простое и очевидное объяснение — скалу раздробили для транспортировки из одного места в другое, ведь перевезти массивную глыбу по частям явно проще, чем целиком. Однако это объяснение мало похоже на правду, так как каких-либо построенных человеком объектов или даже их следов поблизости не обнаружено. Ближайшее поселение в оазисе Тайма находится в 45 км, и это слишком далеко для транспортировки подобной глыбы (или даже её половины), тем более что камни сходных размеров встречаются на куда меньшем расстоянии к оазису.
Оазис ТаймаСогласно другой гипотезе, скалу разделили для создания 2 памятников. В пользу этой гипотезы приводят несколько аргументов. Во-первых, камень находится в районе, известном своей древней культурой, где в разные эпохи существовало несколько развитых цивилизаций. Во-вторых, неподалеку от Аль-Наслаа в древности (да и сейчас) проходила важная дорога из Дамаска в Медину. Очевидно, камень распилить успели, но до создания памятника дело почему-то не дошло.
Мог ли камень так ровно расколоться без участия человека? Похоже, что мог. Современные исследователи не исключают вариант человеческого фактора, однако и «естественный» сценарий считают вполне вероятным. По словам геолога Черри Льюис из Бристольского университета, внешний вид скалы может быть обусловлен процессами таяния и замораживания воды, попавшей в изначально небольшую трещину в камне. При понижении температуры вода замерзает и расширяется, что соответственно приводит к расширению и удлинению трещины.
«По мере таяния льда вода проникает все глубже и глубже в трещину. Процесс повторяется в течение тысяч или даже миллионов лет, пока скала не расколется. Этот процесс в сочетании с ветровой эрозией, которая в условиях пустыни похожа на пескоструйную обработку, также может объяснить, почему валун стоит вот так сам по себе»
Геолог Черри Льюис
Аль-Наслаа — это глыба из песчаника, которая была обнаружена недалеко от оазиса Тайма в Саудовской Аравии. Петроглифы на её поверхности свидетельствует о том, что люди приметили этот камень ещё несколько тысячелетий назад. Возможно, из-за наличия петроглифов этот камень впоследствии и хотели превратить в пару памятников, а для этого раздробили его на 2 части. А может, всё дело лишь в том, что он находился недалеко от важного торгового маршрута.
Практика показывает, что столь ровный срез при некоторой сноровке и удаче можно получить и без каких-либо современных технологий. Вариант «природной обработки» также нельзя исключать: замерзание-таяние воды совестно с ветровой эрозией могли стать причиной «раскола» этой глыбы.
Новости
Публикации
Я не случайно вспомнила заколдованную платформу из вселенной Джоанн Роулинг, ощущения были примерно такие же, как у Гарри Поттера на лондонском вокзале Кингс-Кросс: какой-то сюр! Увидела…
Маленькие смартфоны от Unihertz уже давно перестали быть некоей диковинкой и теперь устойчиво заняли свою нишу любителей ультракомпактных смартфонов с максимально «фаршированной» начинкой. Прошлая…
ELTRONIC EL20-24 CRAZY BOX — это проверенная временем модель бренда ELTRONIC, ей уже несколько лет, но, благодаря хорошим характеристикам, она не теряет своей актуальности. Дизайн у нее. ..
Заглянув под капот автомобиля или другие места конструкции, где есть винтовые или болтовые соединения, часто можно встретить на крепежных элементах странные цветные метки или полоски, которые…
Люди со всего мира находят маяки загадочными и величественными сооружениями, они уже долгое время притягивают взгляды и внимание людей со всех уголков планеты. Маяки служат не только как…
Трудовая неделя подходит к концу и все мы начинаем задумываться о том, где бы провести выходные, да так чтоб как в отпуске, перезагрузиться и вернуться на работу полными сил и энтузиазма….
Фрукты в разрезе Бесплатные стоковые фотографии, изображения и картинки Фрукты в разрезе
Откройте для себя неограниченное количество изображений фруктов в разрезе в высоком разрешении и готовых изображений для коммерческого использования.
Вид сверху на спелую экзотическую папайю, наполовину изолированную на апельсине
Вид сверху на половинки цитрусовых на оранжевом фоне, панорамный снимок
Портрет молодой женщины, держащей свежий банан со знаком усов, изолированным на сером
Вид сверху на ломтики свежего ананаса с ножом, изолированным на белом
Вид сверху на срезанные цитрусовые на оранжевом фоне
Вид сверху на сладкий нарезанный свежий ананас, изолированный на белом
Панорамный урожай свежих и спелых половинок киви на белом
Половинки спелых сочных апельсинов на деревянной разделочной доске на красочном фоне
Плоская тарелка со свежими гранатами на металлическом подносе на черной столешнице
Пищевая композиция с ломтиками свежего арбуза на деревянной разделочной доске и ножом на белой поверхности
Ломтик грейпфрута с неоново-красной подсветкой на черном фоне
Веселая блондинка со свежим коктейлем в ананасе сидит на переносном холодильнике возле шезлонга на желтом фоне эфирное масло в бутылках и нарезанный апельсин на сером фоне
Сырое тесто для шоколада Рождественское печенье на деревянной разделочной доске рядом с сушеными ломтиками цитрусовых на белом фоне
Крупный план бутылки красного вина со стаканом и виноградом на деревянном столе
Привлекательная девушка с кредитной картой рядом с бумажным пакетом с продуктами
Афроамериканка режет помидоры черри рядом с дочерью
Вид сверху на вкусный тыквенный суп-пюре на деревянная разделочная доска с ингредиентами на мраморной поверхности
Соус цацики со свежими ингредиентами на кухонном столе
Вкусное голубое мороженое с посыпкой на половинке кокоса и в ложке для мороженого на мраморно-сером фоне, вид сверху, панорамный снимок
Вид сверху на бутылку с цитрусовым эфирным маслом и сочными дольками апельсина рядом с листьями розы на белом
Вид сверху на женские руки, держащие деревянную разделочную доску с тостами и яичницей на мраморной поверхности
Вкусный тыквенный пирог со взбитыми сливками на клетчатой скатерти рядом вилка, нарезанные и целые яблоки на коричневом деревянном столе
Веселые многонациональные друзья, держащие стопки текилы с лаймом в баре
Радостная женщина смотрит в сторону, держа стакан смузи возле свежих фруктов, размытый передний план
Обрезанный вид молодого купе, готовящего блины рядом с яйцами и яблоком, баннер
Ассорти из мяса и птицы с веточками розмарина на деревянной разделочной доске рядом с яблоками, авокадо, арахисом и яйцами
Панорамный снимок свежих ломтиков арбуза на палочках на белом фоне
Крупный план холодного мохито с мятой в стакане с золотым ободком, изолированным на зеленом
Крупный план свежих и спелых яблок с каплями воды, изолированными на белом
Вид сверху на кусочки персика на металлическом подносе на светлой мраморной столешнице с тенями
Вкусная сладкая половинка кокоса в квадратной рамке на желтом фоне
Вид сверху на половинки грейпфрута на синем и оранжевом фоне
Вид сверху на ярко-желтые разрезанные лимоны с ножом на фоне деревянного стола
Кудрявая афроамериканка позирует со спелым апельсином изолированно на розовом
Панорамный снимок девушки, указывающей пальцами на фрукты на разделочной доске
Вид сверху на горячий чай с лимоном рядом с медом с ложкой на белом фоне, иллюстрация витамина С
Aperol Spritz в стаканах, апельсинах и кубиках льда на черном фоне
Ломтики арбуза из красной бумаги на апельсине с копией пространства
Панорамный снимок вкусного тыквенного супа-пюре на деревянной разделочной доске на мраморной поверхности с ингредиентами
Вид сверху на спелое целое и нарезанный инжир на каменном фоне
Вид сверху на вкусные мидии с раковинами на винтажной тарелке с травами, перцем чили и лимоном на деревенском деревянном столе
Вид сверху на миску с микрозеленью, нарезанными овощами и ломтиками авокадо на белом фоне
Плоская тарелка сочной клубники на черном фоне, баннер
Вид сверху на лимоны и нож на деревянной доске, изолированной на желтом фоне
Вид сверху на тосты с овощами, базиликом и жареным яйцом на текстурированной поверхности
Вид сверху на спелую нарезку вкусный инжир на разделочной доске на каменном фоне
Свежие фрукты в контейнерах с ценниками во льду на прилавке магазина под открытым небом
Избирательный фокус свежесрезанного ананаса на деревянном подносе и разделочной доске с ножом на белом фоне, панорамная ориентация
Разрезанный пополам лимон Стоковые фотографии и изображения
Лимон изолированный на желтом фонеPREMIUM
Лимон и горячее полотенце для мытья рук после морепродуктовPREMIUM
Тыквенная мякоть крупным планом. семена тыквы. тыква в разрезе. осенний урожай тыквы. вегетарианская еда.PREMIUM
Капля воды на свежем лайме с красивым светящимся фономPREMIUM
Лимоны, разрезанные на разделочной доске.PREMIUM
Лимон. круглый сочный разрез. фон для разделочной доскиPREMIUM
Лимон на желтом фонеPREMIUM
Крупный план половины лимона на черном фоне с несколькими каплями падающего сокаPREMIUM
Много нарезанного лимона на тарелке на столеPREMIUM
Ломтик апельсина лежит на деревянной поверхности на темном фоне. гранж текстуру фона. дизайн плаката. природа фон. сладкие фрукты. элемент дизайна. концепция дизайна продукта. тропические фруктыPREMIUM
ЛимонPREMIUM
Свежий желтый лимон на белом фонеPREMIUM
Каннабис со вкусом лимона. свежий лист марихуаны на черном изолированном фоне.PREMIUM
ЛимонPREMIUM
Крупным планом ломтик лимона на полуPREMIUM
Сушеный апельсин на черной металлической доскеPREMIUM
Лимонный фруктPREMIUM
Нарезанный лимон на деревянной разделочной доске. крупный планPREMIUM
Крупный план с лимонами на деревенском сдержанном фоне, выберите фокус, стиль темного света.PREMIUM
Лимон на черном фонеPREMIUM
Один желтый лимон на сине-черном фоне. вид сверху.ПРЕМИУМ
Детокс с лимоном на желтом фоне. цитрусовый лимонад. летом плоды настаивали на воде. вид сверху с копией пространства. плоская планировка.PREMIUM
Долька апельсина в воде с пузырьками, на черном фонеPREMIUM
Грейпфрут на деревянном столеPREMIUM
Желтый лимон лежит на черном столеPREMIUM
Половина свежего вкусного желтого лимона на синем фонеPREMIUM
Помело на оранжевом фонеPREMIUM
Крупный план ломтика лимона на полуPREMIUM
Натюрморт со здоровой едойPREMIUM
Половина лимона и деревянная соковыжималкаPREMIUM
Ломтик лимона с подсветкой на черном фонеPREMIUM
90 002 Панорамное изображение нарезанного желтого лимона на черном фонеПРЕМИУМСвежий лимон и сольPREMIUM
Сочные лимоны на ярко-желтом фоне, цитрусовый минималистичный концепт. плоская планировка, вид сверху, пространство для копирования. ПРЕМИУМ
Ломтики лимона на черном фоне, цитрусовые в отраженииPREMIUM
Половина органического фрукта лимона на деревенском деревянном столе с местом для текстаPREMIUM
Освежающие летние напитки в хрустальных бокалах с зелеными листьями, желтой плиткой на фоне резких теней. сладкий холодный натуральный коктейль жарким летним днем. безалкогольный тоник с содовой водой и мятой. праздник для праздникаPREMIUM
Нарезанный лимон, плавающий на черном фонеPREMIUM
LemonPREMIUM
Половина апельсина лежит на зеркальной поверхности на черном фонеPREMIUM
Один желтый лимон на желто-синем фоне.PREMIUM
Белая тарелка с долькой апельсина на черном фоне.PREMIUM
Дольки лимона на черном фоне, цитрусовые в отражении. табличка на двери ресторана, короновирус, ВеликобританияPREMIUM
Лимон светлыйPREMIUM
Лимон цитрусовые на желтом фонеPREMIUM
Лимон и половинка лимона на коричневом фоне. лимон на коричневом деревянном столеPREMIUM
Лимон на деревянном столеPREMIUM
Половина спелого помело на двухцветном фонеPREMIUM
Половина сочного свежего помело, апельсин на желтом фоне, крупный план, копия пространства. руит на деревянном tablePREMIUM
Долька апельсина, изолированные на черном глянцевом фоне с реалистичным отражением. нарезанные апельсиновые фрукты на черном фоне. нарезанный апельсин на черном фонеPREMIUM
Вид сверху на разделенный пополам плод помело, помещенный на поверхность черного камняPREMIUM
Целый лимон на ярко-желтом фоне. ПРЕМИУМ
Ломтики лимона на столе. крупным планом. белый фонPREMIUM
Сочный ломтик лимона, желтый лимон, ломтик фруктов на темно-синей доске, цитрусовые, кислые фруктыPREMIUM
Свежие нарезанные залитые солнцем лимоны на тарелкеPREMIUM
Крупный план свежего лимона на черном фонеPREMIUM
Крупный план свежего желтого органическая половина лимона с каплями воды на черном фонеPREMIUM
Ломтики лимона на черном фоне, цитрусовые в отраженииPREMIUM
Ломтик лимона крупный план макро студия выстрелПРЕМИУМ
Лимон и лечебный сок от простуды. домашние способы простуды и кашля. темный фон.PREMIUM
Доска со спелыми плодами помело на черном дымчатом столеPREMIUM
Половинка лимона на зеркале. отражение. белый фонPREMIUM
Круглые ломтики помело на голубом фоне. желтые цитрусовые. вид сверху.PREMIUM
Половинка разрезанного лимона, изолированная на желтом.PREMIUM
Дольки лимона на белом фоне с мягкими тенями.PREMIUM
Целый лимон и лимон в разрезе на черном фонеPREMIUM
Половина желтого свежего помело и его кусочки на простом деревянном фоне с зелеными декоративными листьями, крупный план фруктовPREMIUM
Банан и фрукты помело со сгущенным молоком на розовом фонеPREMIUM
Половинка свежего желтого лимона на сером фонеPREMIUM
Цитрусовая конфетка на деревянной доске на темном фонеPREMIUM
Ломтик лимона на сером фонеPREMIUM
PomeloPREMIUM
Ломтики лимона на деревянной разделочной доске. селективный фокус.PREMIUM
Свежий ломтик лимонаPREMIUM
Лимон на бумажном кубике.