Картинка земляники: D0 bb d0 b5 d1 81 d0 bd d0 b0 d1 8f d0 b7 d0 b5 d0 bc d0 bb d1 8f d0 bd d0 b8 d0 ba d0 b0 картинки, стоковые фото D0 bb d0 b5 d1 81 d0 bd d0 b0 d1 8f d0 b7 d0 b5 d0 bc d0 bb d1 8f d0 bd d0 b8 d0 ba d0 b0

Содержание

Земляника в лесу — 61 фото

1

Земляничная Поляна


2

Ягодная Поляна


3

Малина земляника Морошка


4

Уральская Лесная клубника


5

Земляника Форест


6

Земляника писатель


7

Земляника на Поляне


8

Земляника в лесу


9

КФХ Земляничная Поляна Печоры


10

Обои на рабочий стол лето вода природа лес цветы ягоды животные


11

Земляника ЛРС


12

Земляника Садовая ползучая


13

Ягодки в лесу


14

Земляника в траве на фоне неба


15

Ягоды в лукошке


16

Поляна земляники


17

Летний пейзаж фото Ягодная Поляна


18

Лето Макросъемка земляника


19

Земляника Лесная продуцент


20

Лесные ягоды


21

Красивые ягоды в лесу


22

Поляна клубники


23

Лесные ягоды


24

Земляника в природе


25

Земляничная Поляна


26

Земляника Сибирская


27

Лесная земляника фото в природе


28

Земляника Полуница


29

Земляника ЛРС


30

Море земляники в лесу


31

Лето Макросъемка


32

Обои на рабочий стол земляника в лесу


33

Лесная Земляничная Поляна


34

Земляника eper


35

Земляничная Поляна Ракша


36

Лесная клубника фото в природе


37

Земляника Лесная в Бору


38

Июль природа Кузбасса земляника


39

Природа лето ягоды


40

Лесная земляника осенью


41

Флора природа


42

Фото земляники в лесу шаблон


43

Земляника Лесная на столе


44

Обои на рабочий стол лето вода природа лес цветы ягоды животные


45

Лето природа земляника в лесу


46

Ящики для сбора клубники


47

Смешанные леса ягоды


48

Земляника в лесу


49

Поляна с цветами и ягодами


50

Ягодная Поляна клубника


51

Чудеса живой природы


52

Клубника Лесная


53

Земляника в тайге


54

Земляника на пне


55

Лето природа земляника в лесу


56

Земляничная Поляна в лесу


57

Сибирская земляника Лесная


58

Лето лес земляника


59

Клубника в корзинке


60

Ягоды в лесу

Земляника (112 фото) » НА ДАЧЕ ФОТО

Клубника ремонтантная Регина


Земляника Лесная (Fragaria vesca)


Земляника Лесная ремонтантная


Земляника Лесная


Лесные ягоды макро


Земляника Лесная латынь


Fragaria elatior


Земляника Лесная Уральская


Звездочки на клубнике полезные свойства и противопоказания


Земляника Лесная букет


Земляника Лесная


Земляника Лесная


Fragaria vesca


Земляника Лесная царство


Ягоды на Поляне


Земляника Лесная


Соцветие земляники Лесной


Спасибо с земляникой фото


Земляника Восточная (Fragaria vesca)


Ягода земляника


Клубника в Барсуки Смоленская область ИП чекан


Дикая земляника


Земляника ремонтантная Мари медовая


Земляника Садовая плантация


Земляника Северная ягода


Земляника Лесная


Лесная ягода Луговая,земляника,клубника


Клубника в траве


Земляника Руяна и Барон Солемахер


Многоорешек земляничина


Земляника Лесная


Клубника растение


Царь ягода земляника


Земляника аромат лета


Листья земляники для здоровья


Семейство Розоцветные земляника


Земляника Лесная


Клубника на ветке


Землянику использовать землянику


Земляника Сибирская


Ягода земляника


Семена земляника ремонтантная «Барон Солемахер»


Спелая земляника


Сезон Лесной земляники


Полевая ягода


Земляника зеленая Полуница


Земляника Дикая Лесная


Розоцветные земляника


Лесная земляника растение


Клубника и земляника


Земляника Лесная латынь


Лесная Полевая земляника


Земляника безусая ремонтантная сорт Сашенька


Лесная ягода клубника


Земляника Лесная


Землянка фотографии


Съедобная ягода земляника


Земляника Лесная размножение


Земляника крупноплодная Любаша


Земляника в лесу


Виктория Лесная ягода


Земляника Лесная Цветущая


Земляника ред Вондер


Земляника Лесная


Шпанка Лесная земляника


Давид земляничник, появляются первые ягоды


Лето земляника Поляна


Земляника Лесная


Стадии созревания земляники


Картинки на букву з — земляника


Земляника Княженика Камчатка


Клубника цветок и плод


Витамины в Лесной землянике


Земляника Лесная


Лесная земляника Северная


Клубника Розоцветные


Грядки для клубники


Свежемороженая Лесная земляника


Земляника обыкновенная двудольная


Лесная земляника Альпы


Земляника ЛРС


Лесные ягоды земляника и клубника


Земляничная Поляна


Земляника Лесная (Fragaria vesca l.) кратко


Ягоды комы


Земляничный рай


Земляника Садовая и Лесная


Земляника Лесная (Fragaria vesca l.)


Горсть земляники


Команда земляника


Земляника Лесная


Земляника в лесу


Почвопокровная дюшеня дюшенея


Мещерская земляника


Соцветие земляники


Клубника брусника плесника


Клубника в лесу


Земляника Лесная


Земляника равнинная


Земляника Лесная сказка


Лето лес земляника


Свежая малина


Земляника Лесная, или обыкновенная


Земляника картинка


Съедобная ягода земляника


Дикая Лесная клубника


Земляника мелкоплодная Лесная сказка


Земляника Лесная


Земляника Лесной гигант ЦС


Клубника Полевая


Земляника Лесная листья


Земляника Лесная

Земляника лесная (109 фото) » НА ДАЧЕ ФОТО

Земляника Лесная


Листья лесных ягод


Съедобная ягода земляника


Земляника Лесная


Земляника в лесу


Земляника Лесная


Земляника Лесная листья


Амгинская земляника


Заринск лес земляника


Земляника Лесная латынь


Земляника в разрезе


Земляничная Поляна Осинки


Лесная земляника растение


Земляника в Якутии


Ягода земляника


Земляника Лесная (Fragaria vesca l.) кратко


Fragaria — земляника — rot


Земляника Лесная


Земляника Лесная


Земляника Лесная


Сад, названный «Земляничные поля»


Лесная ягода клубника


Земляника ремонтантная Любава


Плоды земляники Лесной


Земляника Лесная


Сибирские дикоросы земляника


Лесная клубника фото крупным планом


Ягоды полевой земляника Лесная


Земляника Полуница


Fragaria vesca


Земляника Форест


Земляника Лесная сказка


Земляника Лесная Уральская


Ароматизатор Лесная земляника польза


Земляника в лесу


Ягоды Кузбасса


Земляника Лесная прямостоячие


Земляника Лесная


Земляника зеленая Полуница


Земляника фото ягода Лесная


Руслан земляника


Лесная ягода клубника


Дикорастущая земляника


Фрукты земляника Лесная


Землянка в лесу Лесные


Лесная ягода клубника


Ягоды на Поляне


Fragaria vesca Alexandria


Земляника Лесная кустик


Земляника Лесная


Полевые ягоды Башкирии


Лето пахнет земляникой


Лесная ягода Луговая,земляника,клубника


Краснодарская земляника


Сорт безусой земляники Барон


Земляника культурное растение или дикорастущее


Родственница клубники


Народный праздник Давид земляничник


Земляника Лесная


Земляника мелкоплодная Александрия


Земляника Лесная


Дикорастущие растения земляника


Автор земляника


Земляника Лесная (Fragaria vesca)


Земляника Лесная


Земляника Лесная покрытосеменных


Клубника брусника плесника


Земляника в лесу


Клубника в лесу


Земляника Луговая семейство Розоцветные


Ягодная Поляна клубника


Земляника Лесная


Давид земляничник


Земляника Форест


Земляника безусая ремонтантная сорт Сашенька


Fragaria viridis


Звездочки на клубнике полезные свойства и противопоказания


Земляника Лесная продуцент


Клубника ремонтантная Регина


Лесная земляника растение


Земляника Лесная


Ягода земляника


Земляника ампельная Лоран


Шпанка Лесная земляника


Виктория Лесная ягода


Клубника и земляника


Лесные ягоды земляника и клубника


Fragaria — земляника — Wild Strawberry k Pink Panda


Земляника Лесная прилистники


Земляника обыкновенная


Земляника Лесная ГФ


Клубника Луговая Подмосковье


Земляника зеленая Полуница


Лесная земляника растение


Лесная ягода клубника


Земляника Дикая Лесная


Ремонтантная малина клубника


Лесная Полевая земляника


Суница ягода


Поляна с ягодами


Земляника в траве


Земляника крупноплодная Любаша


Земляника Руяна


Ягодная Поляна в лесу


Земляника Лесная


Земляника Лесная


Лесные ягоды земляника и клубника


Земляника мускусная


Земляника Лесная

Земляника – сорта, описание, фото, польза

Землянику в Древней Руси называли земляницей, что в буквальном смысле говорит об особенностях ее роста. С латыни название означает «благоухание». Действительно, запах земляники невозможно спутать, как и ее вкус. Узнаем же о ней больше.

Как выглядит

Кустики земляники обычно очень маленькие с тройчатыми листьями, как правило, имеющими овальную форму с зубчиками. Цветоносы достигают в высоту 40 сантиметров, а цветки имеют розовые, белые и красные лепестки. Сами плоды могут встречаться разных цветов: белые, розовые, малиновые, красные и даже желтые.

Где растет

Растет земляника по всему миру. Изначально была обнаружена в восточной Азии, а на сегодняшний день распространена в России, государствах СНГ, Соединенных Штатах Америки и странах Европы. Землянику можно обнаружить даже в Гималаях и Японии и, что удивительно, в Северной Африке. Такая распространенность объясняется повышенной стойкостью к погодным факторам и способностью выживать практически на любой почве.

Сорта

Важно понимать, что земляника делится на сорта и виды. Дикорастущая ягода, прошедшая селекционный отбор, имеет сорта, идентичные клубнике. Сама же земляника разделяется на несколько видов.
Чилийская послужила основой для одного из самых популярных сортов — садовой земляники. Нетрудно догадаться, что произрастает она на чилийском побережье. Можно встретить ее даже на Гавайях. Ягода плохо переносит холода, но пятнистость для этой ягоды — прямая угроза. Мякоть плодов плотная, цвет обычно бледно-красный.
Мускусная земляника растет в разных регионах России и Европы. Характерный признак вида — мускусный запах, иногда перекликающийся с ароматом меда. Плоды бывают розовыми, красными, бледно-зелеными. Цветки у мускусной земляники довольно большие, а ягодки, наоборот, маленькие.
Виргинская земляника была завезена в Европу из Соединенных Штатов. Вид ягоды стал популярен благодаря высокой урожайности. Плоды растения имеют коническую форму и характерный алый цвет. Виргинская выдерживает засуху, холода, но плохо переносит транспортировку. По мнению многих гурманов, этот вид не отличается приятным вкусом.
Зеленая, или холмистая, отличается белыми цветками, которые могут достигать 1 сантиметра в радиусе. Маленькие плоды традиционно белые или зеленые. Этот вид произрастает в Западной Европе, в разных регионах России, встречается в Крыму и Средней Азии.
В России самым популярным видом земляники является лесная. Именно из нее выводится знаменитая альпийская ягода. Этот вид неприхотлив, хорошо приживается на скудных почвах, не зависит от кислотности. Вот почему ее можно встретить даже в Африке. Плоды растения ярко-красные, являются излюбленным лакомством некоторых диких животных, например, медведей, а еще часто используются в рецептах народной медицины.

Польза

Рассмотрим полезные свойства земляники обыкновенной (лесной).

  1. Пользу ягоды невозможно переоценить, ведь в ней содержатся железо, множество полезных для человеческого организма кислот, витамины и микроэлементы. Известно, что именно земляника занимает первое место среди фруктов и ягода по содержанию кальция. Она также богата каротином и аскорбиновой кислотой. В 100 граммах свежесобранной земляники содержится примерно 120 миллиграммов этой ценнейшей кислоты.
  2. Высокое содержание меди и кобальта способствует улучшению кроветворения, минеральные соли фосфора необходимы для нормализации работы хрусталика глаза. Отметить стоит и пектин, благотворно влияющий на пищеварение.
  3. Употреблять землянику рекомендуется всем, кто испытывает проблемы с аппетитом. В то же время она помогает избавиться от паразитов, запоров, вывести «плохой» холестерин, снять воспаление желчного пузыря.
  4. Употребление плодов дает положительный результат в лечении гипертонии, атеросклероза, кардиологи рекомендуют пить настойку из ягод для снижения давления и нормализации работы сердечной мышцы
  5. Настойки и отвары из земляники можно использовать для лечения заболеваний суставов, а также для улучшения обмена солей в организме. Знаменитый врач Карл Линней использовал плоды для лечения подагры. Полезна ягода и для почек.
  6. Заметно влияние ягоды и на косметологию. Именно из нее делают особый раствор, который в дальнейшем используется для изготовления масок. Их применяют для лечения кожи при возникновении угрей. Такие маски хорошо помогают и при восстановлении эластичности. Стоматологи также положительно отзываются о земляничном растворе, поскольку он является хорошим профилактическим средством в борьбе с микробами.
  7. Полезны не только плоды, но и листья растения. Они богаты эфирными маслами, что позволяет применять их в качестве лечебного средства для ран, язв, ссадин и опухолей. Можно приготовить из листьев настойку, обладающую седативным эффектом, использовать ее в качестве тоника или сосудорасширяющего средства.

Как выбрать

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

Хорошие и спелые ягоды отличаются приятным, нерезким ароматом, блестят и имеют упругую поверхность. Если земляника матовая, значит она уже перезрела, в то время как спелые экземпляры всегда отличаются яркими, насыщенными цветами.

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

Земляника предпочитает температуру до 2 градусов и может храниться не более 5 дней. Лучшей тарой для хранения является фарфоровая посуда или пищевой пластик. В замороженном виде ягоду можно сохранить примерно на 10 месяцев.

Противопоказания

В землянике содержится достаточно большое количество аллергенов, поэтому врачи рекомендуют быть осторожнее и потреблять ягоду в меру. То же самое касается и листьев. Довольно сложно обстоит дело с употреблением в пищу земляники для детей. Рекомендуется вводить в рацион по нескольку ягод в день. Если аллергической реакции не наблюдается, можно увеличивать порции.
Не рекомендуется есть ягоду при язве и острых заболеваниях ЖКТ. Очень важно помнить, что есть землянику натощак довольно вредно. Это может привести к возникновению изжоги и дискомфорта в целом. Чрезмерное потребление способно вызвать краткосрочные аллергические реакции в виде высыпаний на коже, зуда и крапивницы.
На вопрос о том, сколько можно есть земляники в день, врачи отвечают по-разному. В диетологии рекомендуется съедать не более 2 стаканов земляники ежесуточно, в то время как, по мнению многих врачей-гастроэнтерологов, хватит одного стакана. Отметим, что в составе блюд, в том числе молочных каш, землянику можно есть и в больших объемах.

Как сажать землянику

Самым лучшим периодом для посадки земляники является август или сентябрь. Фермеры также хвалят начало весны, подтверждая слова богатыми урожаями. Правда, важно учитывать, что бесснежная зима для ягоды требует посадки именно в весенний период, так как почва должна как следует прогреться. Именно поэтому растению требуется много солнца.
Необходимо учесть и соседство, ведь земляника весьма капризна к целому ряду культур. Она не любит малину, перец, баклажан и помидоры. Нежелательны для нее также огурцы и картофель. Важно избегать соседства с капустой.
А вот почва для земляники не столь важна. Единственное, следует избегать болотистой местности. В то же время опытные садоводы рекомендуют выбирать супесчаную почву. Грунтовые воды должны залегать на расстоянии 70 сантиметров. Допускается посадка на те же участки, где росли овес, горох, морковь, редис, петрушка, лук.
Если вы решили посадить землянику весной, подготовьте почву еще осенью. Для этого нужно верхний слой перекопать с помощью вил, соблюдая глубину в 30 сантиметров. Тщательно выпалывайте сорняки и добавляйте органические удобрения. Хорошим вариантом является компост в объеме 5 килограммов, подойдет и перепревший навоз. Расчет объема идет на квадратный метр. Обязательно нужно добавить суперфосфат (40 граммов), сернокислый калий (20 граммов), древесную золу (5 килограммов). Отметим, что минералы вносятся по весне.

Лесную землянику сажают так, чтобы между кустиками было расстояние примерно в 25 сантиметров. Ширина между рядами — 75 сантиметров. Для каждого саженца предусматривается своя ямка 20х25. В лунку заливают воду сразу после посадки, утрамбовывают, а сердечко оставляют на воздухе, чтобы почва не перекрывала ему воздух. Корневая шейка должна быть углублена в землю, чтобы корни не подсыхали. Как только все саженцы окажутся в земле, обязательно надо разрыхлить междурядья. Для сухого грунта необходимо провести полив пару-тройку раз после того, как земляника приживется. Лучше сделать это вечером с перерывом в сутки. Будьте осторожны: саженцы нужно защитить от прямых солнечных лучей, пока они не начнут развиваться.
Подготовка к посадке на осенний период начинается за 2 недели, при этом внесение органических и минеральных удобрений происходит единовременно. Объем минералов следует сократить вдвое. В остальном схема посадки идентична, только междурядья стоит прикрыть прелой соломой. Подойдет также навоз слоем примерно 10 сантиметров. Такая мера необходима, поскольку зимой корни могут вымерзать, если не обеспечить им защиту.

Интересные факты

  • Культивировать землянику начали примерно в 15 веке, хотя ягода известна еще с древних времен. Собирали ее в лесах и на полянах;
  • Остров Бурбон назван так именно из-за земляники. Ее завезли туда в 1801 году. Она очень хорошо прижилась, и поэтому берега острова издалека стали казаться красными;
  • Раскопки археологов подтверждают, что земляника является одной из самых древних культур. По расчетам ученых, она появилась еще 60 миллионов лет назад;
  • В общей сложности насчитывается свыше 200 видов земляники, причем точное количество до сих пор неизвестно. Клубнику и землянику часто путают, что совсем неудивительно. Фактически они являются родственниками;
  • У растения есть способность передвигаться с помощью специальных усов. На одном месте ягода произрастает не более 5 лет. Именно поэтому фермеры пересаживают землянику на разные грядки.

Рецепты

Большое количество сортов ягоды обуславливает широкое применение в кулинарии. В целом для земляники характерен сладковатый привкус. В первую очередь среди блюд выделяется варенье, а самыми популярными напитками по-прежнему остаются компоты и кисели. Отличным десертом на каждом столе станет земляника с молоком или в сливках.

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

описание, сорта, полезные свойства и противопоказания

Калорийность: 41 кКал.

Энергетическая ценность продукта Земляника:
Белки: 0.8 г.
Жиры: 0.4 г.
Углеводы: 7.5 г.

Описание

Земляника считается одной из самых душистых и вкусных лесных ягод, которая была окультурена еще в 15 веке. Существует довольно много сортов земляники, однако в наших садах, как правило, встречается виргинская, садовая и мускатная земляника. Последняя известна нам, как клубника.

Ягоды земляники небольшие — 1-5 см, цвет у них нежно-красный (см. фото), они очень ароматные и мясистые.

Полезные свойства

Земляника не только приятная на вкус, но еще и очень полезная ягода. Она обладает массой целебных свойств, а все благодаря ее богатому витаминно-минеральному составу. В ней есть такие элементы, как калий, железо, медь, марганец, цинк. Также в этой крошечной ягоде очень много витаминов: В1, В2, С, Е, РР, пантотеновая кислота, фолиевая кислота.

Землянику активно используют в косметологии, она великолепно заботится о состоянии кожи лица. Эта ягода поможет избавиться от веснушек и пигментных пятен, вывести угревую сыпь. Она является отличным тонизирующим компонентом для кожи лица, помогает обеспечивать ее питание, избавляет от чрезмерной сухости, уменьшает сальные выделения.

Землянику также используют для укрепления десен и отбеливая зубов. При проблемах неприятного запаха изо рта поможет полоскание земляничным отваром.

Использование в кулинарии

И садовая, и лесная земляника является очень вкусными и полезными, а потому широко используются в кулинарии. Ее ягоды можно употреблять свежими без ничего, а можно добавить сливки, сахар, мороженое, сметану. Земляника придает великолепный вкус молочным продуктам, вот почему землянику очень часто используют для приготовления кондитерских изделий, а также различных йогуртов, мороженого, муссов. Очень вкусным получается варенье, джем и желе из земляники. Многие кулинарные рецепты тортов, пирожных и блинчиков включают в себя землянику, как составляющий элемент, без которого вкус будет совсем уже не тем. Также землянику используют для приготовления соков, компотов, салатов. Это уникальный продукт, который придает каждому блюду свой неповторимый вкус.

Польза земляники и лечение

Польза земляники была известна еще давным-давно: эту великолепную ягоду использовали для борьбы со многими недугами, и сегодня земляника помогает преодолеть множество трудностей со здоровьем.

Употребление земляники помогает побороть такие болезни, как гипертония, атеросклероз, бессонница, неврастения. Также земляника имеет мочегонное свойство, уменьшает в организме наличие мочевой кислоты, выводит соли. Землянику эффективно употреблять, когда беспокоит подагра, почечнокаменные болезни. Также она является диетическим продуктом, который эффективен в борьбе с гастритом, язвой желудка, запорами, атеросклерозом, нарушением обмена солей.

Чудодейственные свойства земляники предупреждают процесс старения и снижают риск заболевания онкологией.

Земляника богата на кальций, что при регулярном ее потреблении делает зубы и кости крепкими, а волосы красивыми.

Чтобы избежать появления авитаминоза в холодное время года, также очень полезным будет употребление земляники, так как в ней содержится очень много витаминов и минералов.

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

Вред земляники и противопоказания

Несмотря на все перечисленные полезные свойства, чтобы не нанести вред организму, злоупотреблять земляникой все-таки не стоит, так как она может вызвать аллергические реакции. Также не рекомендуется употреблять землянику в пищу, если вы страдаете тяжелой формой гастрита, коликами или язвой желудка. Данные заболевания относятся к противопоказаниям употребления ароматных ягод. Следует помнить о мочегонном свойстве земляники и быть осторожными с ней при нефрите и неврозе.

В целом же земляника является очень вкусным, а главное — полезным продуктом, поэтому употребляйте землянику в меру и будьте здоровы!

Рецепты приготовления блюд c фото

Торт Виктория

80 мин. 8

Похожие продукты питания

Пищевая ценность

  Зола0,4 г
  Крахмал0,1 г
  Моно- и дисахариды7,4 г
  Вода87,4 г
  Органические кислоты1,3 г
  Пищевые волокна2,2 г

Витамины

Минеральные вещества

Земляника — калорийность, полезные свойства, польза и вред, описание

Калории, ккал: 

41

Углеводы, г: 

7.5

Земляника считается самой вкусной и ароматной из дикорастущих ягод. В культуру она введена в XV-XVI веках.

Популярные возделываемые виды земляники:

  • земляника садовая, к которой часто применяют традиционное название клубника (хотя в биологической номенклатуре это название принадлежит растению, относящемуся к другому биологическому виду). Является самым распространённым в культуре видом земляники;
  • земляника лесная, дико растущая в средней полосе России;
  • земляника виргинская;
  • земляника мускатная, или мускусная земляника, которую и правильно называть клубникой;
  • земляника чилийская.

Калорийность земляники

Калорийность земляники составляет 34 ккал на 100 грамм продукта.

Состав и полезные свойства земляники

Земляника богата железом, марганцем, медью, цинком, что очень полезно при анемии. В ягодах содержится много калия, а также пектиновые вещества и органические кислоты. Основные витамины – С и фолиевая кислота. Спектр других витаминов тоже очень широк, это В1, В2, РР, Е, пантотеновая кислота. Земляника отличается содержанием значительного количества биофлавоноидов (витамина Р).

Ягоды земляники используют при лечении атеросклероза, гипертонии, неврастении, бессонницы. Препараты плодов земляники оказывают слабое мочегонное действие, способствуют уменьшению в организме мочевой кислоты и её солей (калоризатор). Рекомендуют их главным образом при почечнокаменной болезни и подагре. Свежие плоды – ценный диетический продукт при атеросклерозе, гипертонии, гастритах, язвенной болезни желудка, атонических запорах, нарушениях солевого обмена.

Вред земляники

При употреблении земляники следует соблюдать меру. Ведь она является мощнейшим аллергеном и перед тем как включить её в свой рацион желательно проконсультироваться со специалистом.

Земляника в кулинарии

Землянику используют в кулинарии для приготовления джема, варенья, соков, киселя, желе, пастилы, добавляют в выпечку, фруктовые салаты, а самым популярным считается сочетание земляники со сливками. Ягодами украшают торты, из них готовят наливки и десертные домашние вина. А из подсушенных листьев земляники получается ароматный и полезный чай.

почему ягоды корявые? — FloweryVale.ru

Кто не любит землянику садовую! Перед глазами сразу всплывают картинки с крупными, сочными, ровными ягодами. Однако на своем участке картинка может быть другой: при сборе ягод земляники вы вдруг видите, что многие ягоды корявые, одни сильно деформированы по всей поверхности, другие как бы смяты только на кончике. В чем же причина?

Недостаток бора — первая причина деформации ягод земляники

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

Симптомы недостатка бора можно наблюдать как на листьях, корнях, так и на плодах земляники. Определить

дефицит бора можно по листьям: сильное искривление молодых листочков, листочки начинают заворачиваться вверх, у старых листьев по краю появляется желтая кайма, а корни становятся кряжистыми. Молодые плоды земляники не развиваются и погибают. Очень много пустоцвета: при сильной нехватке бора завязи просто отмирают. Дефицит бора на взрослых плодах — на ягодах земляники садовой появляются продольные полосы, которые постепенно становятся грубыми, мягкие ткани ягоды в этих местах не развиваются, вся ягода выглядит уродливо. Развивающиеся и взрослые ягоды земляники могут сужаться на конце и заворачиваться.

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

Внести бор можно и в июне, когда начинается формирование ягод. В воду для полива или опрыскивания земляники садовой добавьте борную кислоту или буру. Микроэлементы вносятся из расчета 5 г на 10 л воды. Борную кислоту предварительно растворяют в одном литре горячей воды и вливают в основной раствор.

Клоп-слепняк — вторая причина деформации ягод земляники

Однако самой распространенной причиной корявых ягод земляники садовой является

клоп-слепняк: Lygus lineolaris и Lygus rugulipennis. Взрослые особи (имаго) клопа-слепняка небольшого размера, всего 6 мм в длину, имеют зеленовато-серую или темно-бурую окраску. Сверху окраска тела матовая, с мелкой пунктировкой. Усики вдвое короче тела. Взрослые особи клопа-слепняка характеризуются заметным желтым или бледно-зеленым «V» на щитке.

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

Клопы-слепняки откладывают яйца в цветках земляники садовой, и внешне их довольно трудно обнаружить. Первая и вторая возрастные стадии нимф бледно-зеленые, третья, четвертая и пятая возрастные стадии нимф — зеленые, и имеют пять черных точек на спине.

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

Борьба с клопом-слепняком на участке с земляникой садовой осложняется тем, что применение химикатов крайне нежелательно. Из инсектицидов, которые разрешены для использования в землянике, самым эффективным является органофосфат.

В промышленном выращивании земляники за рубежом широко используется воздуходувы или вакуумные установки. На садовом участке с клопами-слепняками и их нимфами помог бы справиться простой пылесос. Это самый безопасный способ, хотя сложновыполнимый. Поэтому можно предложить еще один безопасный способ: берете чашку, или лучше белую кастрюлю, и просто стряхиваете кустик земляники над кастрюлей. Клопы-слепняки и их нимфы упадут в кастрюлю, после чего вы их быстренько уничтожаете. На дно кастрюльки можно налить немного воды, чтобы клопы не смогли быстро уползти. Эту процедуру в период массового формирования ягод проделывайте два раза в день.

Клопов-слепняков можно отвлечь на растения-ловушки. Например, люцерна для клопов-слепняков предпочтительнее земляники.

Справиться с клопами-слепняками помогут также наездники-бракониды. Это небольшие насекомые, которые откладывают свои яйца в тело личинок некоторых жуков: долгоносиков, майских жуков, клопов-степняков. Личинки наездников-браконидов начинают развиваться, и тем самым убивают свою жертву.

Весенние заморозки — третья причина деформации ягод земляники

Повреждение цветков земляники садовой весенними возвратными заморозками приводит к потемнению в центральной части цветка (цветоложе). Цветки земляники, поврежденные морозом, не развиваются, деформируются, не могут полноценно опылиться. Поэтому возникает деформация ягод земляники.

Для защиты посадок земляники садовой от весенних заморозков используйте защитный укрывной нетканый материал агроспан.

Источник изображений virginiafruit.ento.vt.edu, strawberryplants.org, www.omafra.gov.on.ca, www.sdedible.org, bangordailynews.com, ucanr.org, kingdomplantae.blogspot.com, ru.wikipedia.org, flickr.com: Swire, crunch61, Glamgirl, Ells Andrea., qwghlm, ksuyin, Lilford T. Spunglesworth, 00steve, Stephen Rees, Chris Schneider Photos, bramblejungle, jeans_Photos

Скромная картина с клубникой Шардена продана на аукционе за рекордную сумму в 26,8 миллиона долларов, что шокирует наблюдателей рынка

Битвы на аукционах старых мастеров не то чтобы неслыханны, но они не так часты — и не так взрывоопасны — как на распродажах современного искусства. Так что это был приятный сюрприз на этой неделе, когда натюрморт с кучей клубники поджег парижский торговый зал.

Работа под названием «Корзина с земляникой », написанная французским художником 18-го века Жаном-Батистом-Симеоном Шарденом, взлетела далеко за пределы своих 15 миллионов евро (16 долларов.5 миллионов) оценивается в 24,4 миллиона евро (26,8 миллиона долларов) с премией 23 марта в Artcurial. (Предпродажная оценка не включает сборы.)

Согласно Art Newspaper , покупателем был нью-йоркский арт-дилер Адам Уильямс.

Окончательная цена стала новым аукционным рекордом для художника, побив предыдущий рекорд в 8 миллионов долларов, который был достигнут всего несколько месяцев назад за La Fontaine на аукционе Christie’s в Париже, согласно базе данных цен Artnet.В Artcurial заявили, что результат стал рекордным для любой французской картины 18-го века, проданной на аукционе.

Так что же делает работу такой особенной?

По общему мнению, по словам Гарри Смита, исполнительного председателя художественного консалтинга Gurr Johns, работа «совершенно потрясающая», отчасти потому, что это единственный известный натюрморт Шардена с клубникой.

«Этот тип натюрморта был отцом всех великих натюрмортов второй половины XIX века», — сказал Смит, цитируя работы Сезанна и Мане.«Все эти прекрасные работы восходят к Шардену. Он был уникален во Франции в том смысле, что ему не нужно было делать грандиозные портреты в стиле рококо, как у Буше и Фрагонара. Вместо этого он просто делал свое дело очень тихо, и его работа фантастическая простота».

Смит сказал, что цена полностью приемлема.

«За цену Шардена вы могли бы получить полпути к Сезанну, и это лучший Шарден, который вы могли купить», — сказал он. «Казалось, что это большие деньги, но со временем, я не думаю, что это будет дорого.Я просто думаю, что это отличная картина, и Адам счастливый человек».

Рекорд для натюрморта Сезанна на аукционе составляет 60,5 миллиона долларов за Rideau, cruchon et compôtier (около 1893 г.), который был продан как часть коллекции Джона Хэя Уитни на аукционе Sotheby’s в Нью-Йорке в 1999 г.

Шарден, сын краснодеревщика, родился в Париже в 1699 году и редко покидал город. Он жил на Левом берегу близ Сен-Сюльпис до 1757 года, когда Людовик XV пожаловал ему студию в Лувре.

Согласно Artcurial, Шарден написал около 120 натюрмортов и часто изображал одни и те же предметы, особенно кубки, чайники, зайцев, сливы, дыни и персики.

Картинка с клубникой была выставлена ​​в Салоне 1761 года и вновь открыта столетие спустя, прежде чем исчезнуть из поля зрения публики до нескольких ретроспектив 20-го века в Париже. Со временем Корзина земляники  стала одним из самых известных и символичных образов Франции 18 века и регулярно воспроизводилась в каталогах, посвященных художнице.

Работа со временем стала одним из шедевров коллекции Марсиля, насчитывающей почти 4500 картин, в том числе 40 полотен Буше, 30 Шардена и 25 Фрагонара.

По сообщению Art Newspaper , специалист по картинам старых мастеров Эрик Туркин консультировал по вопросам продажи и сделал запись в каталоге. Он также сказал, что претендентами были лондонская галерея, торгующая за частного американского коллекционера, и Эрик Коаталем, парижский дилер, чей интерес «подтолкнул цену к картине до 15 миллионов евро». Туркин сказал, что получит процент от выручки от продажи.


Следите за новостями Artnet на Facebook:

Хотите быть впереди мира искусства? Подпишитесь на нашу рассылку, чтобы получать последние новости, поучительные интервью и острые критические выводы, которые продвигают обсуждение вперед.

Вот какой должна быть клубника на вкус

Однажды мне посчастливилось жить рядом с клубничной фермой, и я всегда с удовольствием проезжал мимо нее по дороге на работу и с работы. Каждый день я опускал окна и вдыхал этот сладкий, почти конфетный запах, который был настолько сильным, что наполнял всю округу, включая мою машину. Вы уже знаете, каковы эти ягоды на вкус, просто понюхав их. Иногда я не мог устоять и останавливался, чтобы взять пинту или пять: я имею в виду, как вы не?

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

Кварта ягод Гарри (органических)

Клубника для меня как помидоры; Я просто не буду есть их круглый год. Я с радостью жду, когда наступит сезон, а потом наедаюсь, как бурый медведь, который ест лосося перед зимней спячкой.Я занимаюсь поиском ингредиентов для тестовой кухни Bon Appétit и купил эту «обычную» клубнику в магазинах для проверки рецепта. Почти каждый раз кто-то скажет: «Только представьте, насколько вкуснее это блюдо было бы с сезонными ягодами».

Что привело меня к Harry’s Berries, семейной ферме, основанной Гарри Ивамото в Окснарде, штат Калифорния, в 1967 году. Гарри происходил из семьи семейных фермеров, живших в Японии из поколения в поколение. Когда они впервые начали выращивать клубнику, они продавали ее на придорожных фермерских прилавках и оптовикам.Теперь дочь Гарри, Молли, ведет бизнес вместе с мужем. Ферма переехала на новое место, но продолжала выращивать отличные фрукты.

Одна вещь, которая делает ягоды Гарри такими замечательными, это то, что их собирают вручную, когда они полностью созрели. (Большинство брендов ягод не делают этого, потому что спелые фрукты долго не хранятся на полках. Фрукты Гарри в любом случае долго не хранятся, потому что такие люди, как я, покупают их.) Сравните их с квартой ягодных брендов в супермаркете, и вы никогда не возвращайся. Их вкус совпадает с запахом, а плоды красные насквозь — без жесткой губчатой ​​сердцевины.Преимущества того, что продукция будет дорабатываться на заводе, в естественной среде, неоспоримы.

Если только вы не покупаете клубнику на местном фермерском рынке в сезон, вы не найдете ничего лучше, чем у Гарри. (Даже Марта поддержит меня.) Поедание их всегда возвращает меня к тому, чтобы проезжать мимо ферм с опущенными окнами.

Ягоды Гарри можно найти на фермерских рынках по всей Калифорнии и, на короткое время, в других частях страны.Проверьте службы доставки, такие как FreshDirect, и специализированные рынки, такие как Baldor.

Картина «Клубника» Шардена продана на аукционе Artcurial Paris за 24 миллиона евро, побив аукционный рекорд французского художника. вчера в Париже, установив аукционный рекорд для художника. Аукционный дом заявляет, что цена также является самой высокой на аукционе за французскую картину 18-го века.

Работа была куплена нью-йоркским дилером Адамом Вильямсом, который торговался в зале. Это подтвердил специалист по картинам старых мастеров Эрик Туркин, который консультировал по вопросам продажи и написал запись в каталоге. Он также сообщил The Art Newspaper , что заниженной ставкой была лондонская галерея, торгующая за частного американского коллекционера и Эрика Коаталема, парижского дилера, чей интерес «подтолкнул картину к 15 миллионам евро». Туркин сказал Financial Times , что он получит небольшой процент от выручки от продажи.

Предыдущий рекорд для картин французских старых мастеров был установлен Bonhams за продажу портрета Фрагонара из коллекции Густава Рау, изображающего герцога Франсуа-Анри д’Аркура, который был продан за 17,1 млн фунтов стерлингов (с комиссией) в 2013.

В то время как Шарден нарисовал множество персиков, дынь и груш, «Корзина земляники»  (1761) — его единственный натюрморт с одноименным фруктом, что делает его «одним из самых известных и символичных изображений 18 века во Франции», — сообщили в Artcurial, оценив картину в 12–15 млн евро.

Работа, показанная в Парижском салоне в 1761 году, передавалась по наследству от семьи Эдокса Марсиля, ценителя искусства XIX века, который унаследовал от своего отца, Франсуа Марсиля, многочисленные работы влиятельных художников, таких как Франсуа Буше и Жан-Оноре Фрагонар. . «[Работа] оставалась в руках потомков Евдокса Марсиля до сегодняшнего дня; это одна из самых важных французских картин 18-го века, которые остались в частных руках», — добавляет аукционный дом.

Эмерсон Бойер, куратор отдела европейской живописи и скульптуры Чикагского института искусств, написал в Instagram: «Сенсационная картина, абсолютная икона французского Просвещения и его сложностей… картина достигла очень достойной цены на аукционе.Завидую новому владельцу!»

Клубничный кальмар со странными глазами замечен в Сумеречной зоне, Калифорния

(Фото: КРИСТОФ АРШАМБО/AFP через Getty Images) На этом снимке, сделанном 12 марта 2019 года, показаны присоски на щупальцах гигантского кальмара в процессе его реставрации в мастерской таксидермии Музея естественной истории (Французский национальный музей естественной истории) в Париж, 12 марта 2019 г. — Выставка «Океан, необычное погружение» пройдет с 3 апреля 2019 г. по 5 января 2020 г. в Grande Galerie de l’Evolution.

Во время недавнего глубокого погружения в сумеречную зону калифорнийского побережья подводное плавание на сотни футов под водой засняло необычного кальмара клубничного цвета со странными глазами.Один глаз странного существа был маленьким и черным, а другой большим и желтым.

Причудливый зеленоглазый клубничный кальмар

(Фото: КРИСТОФ АРШАМБО/AFP через Getty Images)
На этом снимке, сделанном 12 марта 2019 года, видны присоски на щупальцах гигантского кальмара в процессе его реставрации в Музее естественной истории (Французский национальный музей естественной истории). ) мастерская таксидермии в Париже 12 марта 2019 г. — Выставка «Океан, необычное погружение» пройдет с 3 апреля 2019 г. по 5 января 2020 г. в Большой галерее эволюции

.

Не обращая внимания на камеру подводного аппарата, кальмар клубничного цвета путешествовал по своему темному океанскому дому, время от времени скручивая и извивая свои восемь рук и два щупальца, а его белые плавники колыхались.

Хотя недавнее наблюдение в прошлом месяце не было полной неожиданностью, оно стало приятным сюрпризом для экспертов. Брюс Робинсон, старший научный сотрудник Исследовательского института Аквариума Монтерей-Бей, но не участвовавший в недавней экспедиции, рассказал LiveScience, что странное существо часто можно увидеть, несмотря на его небольшую популяцию.

Исследователи дистанционно управляли аппаратом ROV, известным как Doc Ricketts — беспилотным подводным аппаратом, полностью оснащенным видео сверхвысокой четкости с разрешением 4K, и заметили клубничного кальмара в каньоне Монтерей у побережья Калифорнии.Каньон является домом для очень разнообразной морской популяции. Он проходит почти так же глубоко, как Гранд-Каньон, что делает его одним из самых глубоких подводных каньонов на западном побережье США.

Мантия кальмара, за исключением глаз, тела и придатков, достигает пяти дюймов в длину. Согласно твиту команды MBARI о столкновении 23 марта, во время недавнего глубокого погружения команда столкнулась с одним из самых замечательных морских видов в сумеречной зоне океана; Histiotheuthis heteropsis или кальмар клубничного цвета был замечен в 725 метрах от каньона Монтерей.

Земляничный кальмар имеет один большой и один маленький глаз. Вместе эта необычная пара помогает кальмарам охотиться за едой в сумеречной зоне океана. Большой левый глаз смотрит вверх, чтобы заметить тени, отбрасываемые добычей в тускло освещенных водах. pic.twitter.com/QMPgU5rhp0

— MBARI (@MBARI_News) 23 марта 2022 г.

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

С другой стороны, меньший глаз причудливого кальмара смотрит вниз, выискивая биолюминесцентные вспышки, производимые либо хищником, либо добычей, скрывающимися в более темных водах внизу. Из-за причудливой пары глаз кальмара его иногда называют косоглазым кальмаром.

ТАКЖЕ ЧИТАЙТЕ: Объяснение миграционных привычек гигантских акул: куда они уходят зимой и летом

Клубничный кальмар; Причудливый морской житель сумеречной зоны океана

Несмотря на причудливость кальмара, он не родился косоглазым.Скорее всего, детеныши земляничного кальмара рождаются с глазами одинакового размера. По мере того, как головоногие превращаются в молодых, их левый глаз увеличивается в размерах, и к тому времени, когда они достигают зрелости, их левый глаз может увеличиться в два раза по сравнению с правым глазом.

На суше животные часто выделяются яркими цветами, которые используются либо для подачи сигналов потенциальным партнерам, либо для передачи предупреждений о ядовитой защите. Однако ярко-малиновый цвет кальмара клубничного цвета помогает ему спрятаться в глубокой океанской тьме.MBARI объясняет, что красный свет не достигает морских глубин, где малиновая окраска кажется черной и помогает кальмарам прятаться от хищных взглядов кашалотов, тунцов, дельфинов, акул и меч-рыб.

Жуткий кальмар получил свое название не из-за своего малинового цвета; на самом деле у головоногих есть темные пятна вокруг тела, которые выглядят как крохотные семена земляники. Эти пятна являются фотофорами — органами, излучающими свет в результате химической реакции симбиотических светящихся бактерий.

СООТВЕТСТВУЮЩАЯ СТАТЬЯ: Большие белые акулы тоже подружились! У морских хищников удивительная социальная жизнь

Узнайте больше новостей и информации об океане в Science Times.

Многозадачный косметический продукт — SheKnows

Если вы покупаете независимо проверенный продукт или услугу по ссылке на нашем веб-сайте, SheKnows может получить партнерскую комиссию.

С приходом официальной весны (хотя дождь и облака говорят мне об обратном), у меня все мысли о теплой погоде. Помимо платьев и того, чтобы проводить больше времени на свежем воздухе, в этом сезоне для меня есть еще одна радостная вещь: фрукты! И я говорю не только о еде, я также имею в виду мой уход за кожей.Как раз к более веселой погоде любимый TikTok Glow Recipe представил совершенно новый фрукт в своей любимой линейке: клубнику, и вы захотите немедленно добавить этот новейший продукт на свою верхнюю полку. Поистине революционный продукт, сыворотка Strawberry Smooth BHA + AHA Salicylic Acid от Glow Recipe не похожа ни на один другой продукт по уходу за кожей. Он решает сразу несколько проблем по уходу за кожей благодаря коктейлю из мощных (но успокаивающих) ингредиентов, которые не пересушивают кожу, что встречается гораздо реже, чем вы можете себе представить.

Связанная история Первый солнцезащитный фильтр Glow Recipe борется с темными пятнами и тонкими линиями, увлажняет и пахнет тропическим отдыхом во флаконе

Что же делает эту сыворотку такой волшебной? AHA и BHA работают вместе, чтобы сгладить текстуру кожи, очистить поры, а также лечить и предотвращать будущие прыщи. Но это еще не все: новейший клубничный продукт Glow Recipe содержит гиалуроновую кислоту, которая избавляет от сухости кожи (частый результат типичных средств от прыщей) и успокаивающую азелаиновую кислоту.Он также содержит витамин С, который является чудодейственным средством для осветления кожи и заживления постакне/темных пятен. Поскольку этого недостаточно для ухода за кожей, чтобы решить ее одним махом, эта маленькая, но мощная бутылка может помочь одновременно уменьшить появление тонких линий и морщин. Серьезно, что не так?! Я называю это сейчас: это станет MVP всей вашей процедуры по уходу за кожей.

Предоставлено Glow Рецепт.

Этот запуск последовал за каплей Glow Recipe’s Watermelon Glow SPF, которая в эти дни стала еще одним обязательным элементом моей рутины.С обоими этими продуктами можно быть уверенным в одном (помимо их эффективности): упаковка совершенно симпатичная (и, несомненно, сделает ваш утренний уход за кожей немного проще), а продукты обладают мечтательным, но тонким фруктовым ароматом, который делает уход за кожей чем-то, чего можно с нетерпением ждать.

Сыворотка Strawberry Smooth BHA + AHA Salicylic Acid от

Glow Recipe — это единственный в своем роде продукт, и его будет трудно превзойти со всеми удовлетворительными результатами, которые он получил в магазине. Я использую это в течение нескольких недель, и мне это нравится.Лучше всего то, что я не испытываю никакого жжения или раздражения, которые часто случаются с продуктами, предназначенными для уменьшения появления прыщей / темных пятен, и это даже помогает предотвратить образование новых прыщей. Я также копаю это, потому что это идеальный способ свести к минимуму вашу рутину по уходу за кожей, поскольку он решает так много проблем одновременно.

Бренд K-beauty снова сделал это, и мы все с нетерпением ждем следующего продукта, который изменит правила игры и появится в магазинах косметики.

Обработка изображений с помощью библиотеки Python Pillow — настоящий Python

Когда вы смотрите на изображение, вы видите на нем объекты и людей.Однако, когда вы программно читаете изображение с помощью Python или любого другого языка, компьютер видит массив чисел. В этом руководстве вы узнаете, как манипулировать изображениями и выполнять базовую обработку изображений с помощью библиотеки Python Pillow.

Pillow и его предшественник PIL — это оригинальные библиотеки Python для работы с изображениями. Несмотря на то, что существуют другие библиотеки Python для обработки изображений, Pillow остается важным инструментом для понимания и работы с изображениями.

Для манипулирования и обработки изображений Pillow предоставляет инструменты, аналогичные тем, которые можно найти в программном обеспечении для обработки изображений, таком как Photoshop.Некоторые из более современных библиотек обработки изображений Python построены на основе Pillow и часто предоставляют более продвинутую функциональность.

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

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

Имея эти изображения на руках, вы готовы начать работу с Pillow.

Основные операции с изображениями в библиотеке Python Pillow

Библиотека Python Pillow является ответвлением более старой библиотеки под названием PIL. PIL расшифровывается как Python Imaging Library, и это оригинальная библиотека, которая позволила Python работать с изображениями. Поддержка PIL была прекращена в 2011 году и поддерживает только Python 2. Если использовать собственное описание разработчиков, Pillow — это удобный форк PIL, который поддерживает жизнь библиотеки и включает поддержку Python 3.

В Python есть более одного модуля для работы с изображениями и выполнения обработки изображений.Если вы хотите работать с изображениями напрямую, манипулируя их пикселями, вы можете использовать NumPy и SciPy. Другими популярными библиотеками для обработки изображений являются OpenCV, scikit-image и Mahotas. Некоторые из этих библиотек быстрее и мощнее, чем Pillow.

Тем не менее, Pillow остается важным инструментом для работы с изображениями. Он предоставляет функции обработки изображений, аналогичные тем, которые можно найти в программном обеспечении для обработки изображений, таком как Photoshop. Подушка часто является предпочтительным вариантом для задач обработки изображений высокого уровня, которые не требуют более продвинутых навыков обработки изображений.Он также часто используется для исследовательской работы при работе с изображениями.

Pillow также имеет то преимущество, что широко используется сообществом Python, и у него нет такой крутой кривой обучения, как у некоторых других библиотек обработки изображений.

Вам необходимо установить библиотеку, прежде чем вы сможете ее использовать. Вы можете установить Pillow, используя pip в виртуальной среде:

  PS> python -m venv venv
PS> .\venv\Scripts\активировать
(venv) PS> python -m pip install Pillow
  
  $ python -m venv venv
$ источник venv/bin/активировать
(venv) $ python -m pip install Pillow
  

Теперь, когда вы установили пакет, вы готовы начать знакомство с библиотекой Python Pillow и выполнять основные манипуляции с изображениями.

Модуль

Image и Image Class in Pillow

Основным классом, определенным в Pillow, является класс Image . Когда вы читаете изображение с помощью Pillow, оно сохраняется в объекте типа Image .

Для кода в этом разделе вам понадобится файл изображения с именем building.jpg (изображение предоставлено), которое вы можете найти в репозитории изображений для этого руководства:

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

При изучении изображений с помощью Pillow лучше всего использовать интерактивную среду REPL. Вы начнете с открытия образа, который вы только что загрузили:

>>>
  >>> из изображения импорта PIL
>>> имя_файла = "здания.jpg"
>>> с Image.open(имя файла) как img:
... img.load()
...

>>> тип(изображение)
<класс 'PIL.JpegImagePlugin.JpegImageFile'>

>>> isinstance(img, Image.Image)
Истинный
  

Вы можете ожидать импорта из Pillow, а не из PIL.В конце концов, вы установили Pillow , а не PIL . Однако Pillow — это форк библиотеки PIL. Поэтому вам все равно придется использовать PIL при импорте в ваш код.

Вы вызываете функцию open() для чтения изображения из файла и .load() для чтения изображения в память, чтобы теперь файл можно было закрыть. Вы используете оператор with для создания диспетчера контекста, чтобы обеспечить закрытие файла, как только он больше не нужен.

В этом примере объект представляет собой тип изображения JPEG, который является подклассом класса Image , что подтверждается вызовом isinstance() . Обратите внимание, что и класс, и модуль, в котором определен класс, имеют одно и то же имя, Image . Вы можете отобразить изображение, используя .show() :

Метод .show() сохраняет изображение как временный файл и отображает его, используя собственное программное обеспечение вашей операционной системы для работы с изображениями.Когда вы запустите приведенный выше код, вы увидите следующее изображение:

В некоторых системах вызов .show() заблокирует REPL, пока вы не закроете образ. Это зависит от операционной системы и программного обеспечения для просмотра изображений по умолчанию, которое вы используете.

Вам необходимо ознакомиться с тремя ключевыми свойствами при работе с изображениями в библиотеке Python Pillow. Вы можете изучить их, используя атрибуты класса Image .format , .size и .режим :

>>>
  >>> формат изображения
'JPEG'

>>> изображение.размер
(1920, 1273)

>>> img.режим
'RGB'
  

Формат изображения показывает, с каким типом изображения вы имеете дело. В данном случае формат изображения 'JPEG' . Размер показывает ширину и высоту изображения в пикселях. Режим этого изображения 'RGB' . Вскоре вы узнаете больше о режимах.

Часто вам может понадобиться обрезать изображения и изменить их размер.Класс Image имеет два метода, которые можно использовать для выполнения этих операций: .crop() и .resize() :

. >>>
  >>>cropped_img = img.crop((300, 150, 700, 1000))
>>>cropped_img.size
(400, 850)

>>>cropped_img.show()

>>> low_res_img = cropped_img.resize(
... (cropped_img.width // 4,cropped_img.height // 4)
... )
>>> low_res_img.show()
  

Аргументом для .crop() должен быть набор из четырех элементов, определяющих левый, верхний, правый и нижний края области, которую вы хотите обрезать.Система координат, используемая в Pillow, назначает координаты (0, 0) пикселю в верхнем левом углу. Это та же система координат, которая обычно используется для двумерных массивов. 4-кортеж представляет собой следующий раздел изображения:

Новое изображение, которое .crop() возвращает в приведенном выше коде, имеет размер 400x850 пикселей. На обрезанном изображении видно только одно из зданий с исходного изображения:

.

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

В приведенном выше примере вы устанавливаете новую ширину и высоту в четверть их исходных значений, используя оператор деления пола ( // ) и атрибуты Image .width и .height . Последний вызов show() отображает обрезанное изображение с измененным размером:

Существуют дополнительные необязательные параметры, которые можно использовать с .resize() , чтобы управлять тем, как передискретизируется изображение. В качестве альтернативы вы можете добиться аналогичного масштабирования, используя .reduce() :

. >>>
  >>> low_res_img = cropped_img.reduce(4)
  

Аргумент определяет коэффициент уменьшения изображения. Если вы предпочитаете устанавливать максимальный размер, а не коэффициент масштабирования, вы можете использовать .thumbnail() . Размер эскиза будет меньше или равен установленному вами размеру.

Примечание: .thumbnail() изменяет объект Image на месте и не возвращает новый объект. Однако .crop() , .resize() и .reduce() возвращают новый объект Image . Не все методы в библиотеке Pillow ведут себя одинаково.

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

>>>
  >>> кадрированное_изображение.сохранить («обрезанное_изображение.jpg»)
>>> low_res_img.save("low_resolution_cropped_image.png")
  

После вызова метода он создает файлы изображений в папке проекта. В этом примере одно из изображений является изображением в формате JPEG, а другое — изображением в формате PNG. Расширение, которое вы используете в качестве имени файла, автоматически определяет формат файла, или вы можете указать формат в качестве дополнительного необязательного аргумента.

Основные операции с изображениями

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

. >>>
  >>> convert_img = img.transpose(Image.FLIP_TOP_BOTTOM)
>>> convert_img.show()
  

Этот код отображает следующее изображение:

Есть семь опций, которые вы можете передать в качестве аргументов для .транспонировать() :

  1. Image.FLIP_LEFT_RIGHT : Переворачивает изображение слева направо, в результате чего получается зеркальное изображение
  2. Image.FLIP_TOP_BOTTOM : Переворачивает изображение сверху вниз
  3. Image.ROTATE_90 : Поворачивает изображение на 90 градусов против часовой стрелки
  4. Image.ROTATE_180 : Поворачивает изображение на 180 градусов
  5. Image.ROTATE_270 : Поворачивает изображение на 270 градусов против часовой стрелки, что соответствует 90 градусам по часовой стрелке
  6. Изображение.TRANSPOSE : Транспонирует строки и столбцы, используя верхний левый пиксель в качестве исходной точки, при этом верхний левый пиксель в транспонированном изображении совпадает с исходным изображением
  7. Image.TRANSVERSE : Транспонирует строки и столбцы, используя нижний левый пиксель в качестве исходной точки, при этом нижний левый пиксель остается фиксированным между исходной и измененной версиями

Все указанные выше параметры поворота определяют повороты с шагом 90 градусов.Если вам нужно повернуть изображение на другой угол, вы можете использовать .rotate() :

>>>
  >>> rotated_img = img.rotate(45)
>>> rotated_img.show()
  

Этот вызов метода поворачивает изображение на 45 градусов против часовой стрелки, давая следующее изображение:

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

>>>
  >>> rotated_img = изображение.повернуть (45, расширить = Истина)
>>> rotated_img.show()
  

Этот метод возвращает увеличенное изображение, полностью содержащее повернутое изображение:

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

Полосы и режимы изображения в библиотеке Python Pillow

Изображение представляет собой двумерный массив пикселей, где каждый пиксель соответствует цвету.Каждый пиксель может быть представлен одним или несколькими значениями. Например, в изображении RGB каждый пиксель представлен тремя значениями, соответствующими значениям красного, зеленого и синего для этого пикселя.

Таким образом, объект Image для изображения RBG содержит три канала, по одному для каждого цвета. Изображение RGB размером 100x100 пикселей представлено массивом значений 100x100x3 .

Изображения

RGBA также включают значение альфа-канала, которое содержит информацию о прозрачности для каждого пикселя.Изображение RGBA имеет четыре полосы, по одной для каждого из цветов и четвертую, содержащую альфа-значения. Каждая полоса имеет те же размеры, что и размеры изображения. Следовательно, изображение RGBA размером 100x100 пикселей представлено массивом значений 100x100x4 .

Режим изображения описывает, с каким типом изображения вы работаете. Pillow поддерживает большинство стандартных режимов, включая черно-белый (двоичный), оттенки серого, RGB, RGBA и CMYK. Вы можете увидеть полный список поддерживаемых режимов в документации Pillow по режимам.

Вы можете узнать, сколько полос в объекте Image , используя метод .getbands() , и вы можете преобразовать между режимами, используя .convert() . Теперь вы будете использовать изображение с именем клубника.jpg (изображение предоставлено) из репозитория изображений для этого руководства:

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

. >>>
  >>> имя_файла = "клубника.jpg"
>>> с Image.open(имя файла) как img:
... img.load()
...

>>> cmyk_img = img.convert("CMYK")
>>> gray_img = img.convert("L") # Оттенки серого

>>> cmyk_img.show()
>>> grey_img.show()

>>> img.getbands()
(«Р», «Г», «Б»)
>>> cmyk_img.getbands()
(«С», «М», «У», «К»)
>>> grey_img.getbands()
(«Л»,)
  

Вы дважды вызываете .convert() , чтобы преобразовать изображение RGB в CMYK и версию в градациях серого. Изображение CMYK похоже на исходное изображение, но закодировано с использованием режима, характерного для печатных материалов, а не для цифровых дисплеев.Преобразование в оттенки серого дает следующий результат:

Выходные данные вызовов .getbands() подтверждают наличие трех полос в изображении RGB, четырех полос в изображении CMYK и одной полосы в изображении в градациях серого.

Вы можете разделить изображение на его полосы с помощью .split() и объединить отдельные полосы обратно в объект Image с помощью merge() . При использовании .split() метод возвращает все полосы как отдельные объекты Image .Вы можете подтвердить это, отобразив строковое представление одного из возвращенных объектов:

. >>>
  >>> красный, зеленый, синий = img.split()
>>> красный
<Режим изображения PIL.Image.Image=L size=1920x1281 at 0x7FDD80C9AFA0>
>>> красный.режим
'Л'
  

Режим объекта, который возвращает .split() , равен 'L' , что указывает на то, что это изображение в градациях серого или изображение, которое отображает только значения яркости каждого пикселя.

Теперь вы можете создать три новых изображения RGB, показывающих красный, зеленый и синий каналы отдельно, используя merge() , которая является функцией модуля Image :

>>>
  >>> zeroed_band = красный.точка (лямбда _: 0)

>>> red_merge = Image.merge(
... "RGB", (красный, zeroed_band, zeroed_band)
... )

>>> green_merge = Image.merge(
... "RGB", (нулевая_полоса, зеленый, нулевая_полоса)
... )

>>> blue_merge = Image.merge(
... "RGB", (zeroed_band, zeroed_band, синий)
... )

>>> red_merge.show()
>>> green_merge.show()
>>> blue_merge.show()
  

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

Только красная полоса, сохраненная в переменной red , представляет собой изображение в градациях серого с режимом L. Чтобы создать изображение, показывающее только красный канал, вы объединяете красную полосу из исходного изображения с зеленой и синей полосами, которые содержат только нули. . Чтобы создать полосу, содержащую повсюду нули, вы используете метод .point() .

Этот метод нуждается в функции в качестве аргумента. Используемая функция определяет, как преобразуется каждая точка.В этом случае вы используете функцию lambda для сопоставления каждой точки с 0 .

Когда вы объединяете красную полосу с зеленой и синей полосами, содержащими нули, вы получаете изображение RGB с именем red_merge . Таким образом, созданное вами изображение RGB имеет ненулевые значения только в красном канале, но, поскольку это все еще изображение RGB, оно будет отображаться в цвете.

Вы также повторяете аналогичный процесс для получения green_merge и blue_merge , которые содержат изображения RGB с зеленым и синим каналами из исходного изображения.Код отображает следующие три изображения:

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

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

Эти параллельные дисплеи были созданы с помощью самого Pillow. Вы можете использовать функцию tile() , показанную ниже, для объединения нескольких изображений в один дисплей:

  из изображения импорта PIL

def tile(*images, vertical=False):
    ширина, высота = изображения [0]. ширина, изображения [0]. высота
    плиточный_размер = (
        (ширина, высота * длина (изображения))
        если вертикально
        иначе (ширина * длина (изображения), высота)
    )
    tiled_img = Image.new(images[0].mode, tiled_size)
    строка, столбец = 0, 0
    для изображения в изображениях:
        плитка_img.вставить (изображение, (строка, столбец))
        если вертикально:
            столбец += высота
        еще:
            строка += ширина

    вернуть tile_img
  

Первый параметр в tile() использует оператор распаковки ( * ), так что любое количество объектов типа PIL.Image может использоваться в качестве входных аргументов. Для параметра ключевого слова vertical можно установить значение True , если вы хотите размещать изображения вертикально, а не горизонтально. Эта функция предполагает, что все изображения имеют одинаковый размер.

Общий размер дисплея рассчитывается на основе размера изображений и количества используемых изображений. Затем вы создаете новый объект Image с тем же режимом, что и у исходных изображений, и с размером экрана в целом.

Цикл по вставляет изображения, введенные вами при вызове функции, в окончательный дисплей. Функция возвращает окончательный объект Image , содержащий все изображения рядом.

Изображение в основной статье, показывающее три цветовых канала для изображения клубники, было получено путем вызова функции tile() следующим образом:

>>>
  >>> клубничные_каналы = плитка (красное_слияние, зеленое_слияние, синее_слияние)
  

Эта функция использовалась для создания всех дисплеев, которые показывают более одного изображения в этом руководстве.

Обработка изображений с помощью Pillow в Python

Вы научились обрезать и поворачивать изображения, изменять их размер и извлекать цветные полосы из цветных изображений. Однако ни одно из действий, которые вы предприняли до сих пор, не внесло никаких изменений в содержимое изображения. В этом разделе вы узнаете о функциях обработки изображений в библиотеке Python Pillow. Вы будете использовать модуль ImageFilter в Pillow.

Фильтры изображений с использованием ядер свертки

Одним из методов, используемых при обработке изображений, является свертка изображений с использованием ядер.Цель этого урока не в том, чтобы дать подробное объяснение теории обработки изображений. Если вас интересует наука об обработке изображений, один из лучших ресурсов, которые вы можете использовать, — это Digital Image Processing от Gonzalez and Woods.

В этом разделе вы изучите основы использования ядер свертки для обработки изображений. Но что такое ядро ​​свертки? Ядро — это матрица:

Вы можете рассмотреть простое изображение, чтобы понять процесс свертки с использованием ядер.Изображение имеет размер 30x30 пикселей и содержит вертикальную линию и точку. Линия имеет ширину четыре пикселя, а точка состоит из квадрата 4x4 пикселей. Изображение ниже увеличено для наглядности:

Вы можете разместить ядро ​​в любом месте изображения и использовать расположение центральной ячейки ядра в качестве ориентира. На приведенной ниже диаграмме представлена ​​верхняя левая часть изображения:

.

Элементы на этой диаграмме представляют различные аспекты образа и ядра:

  • белых квадрата представляют пиксели изображения со значением 0 .
  • красных квадрата представляют пиксели изображения со значением 255 . Они составляют точку на изображении выше.
  • Каждая фиолетовая область представляет ядро ​​ . Это ядро ​​состоит из области 3x3 , и каждая ячейка в ядре имеет значение 1/9 . На диаграмме показано ядро ​​в трех разных положениях, обозначенных цифрами 1, 2 и 3.

Новый образ может быть создан в результате свертки образа с ядром.Вы можете понять процесс свертки, выполнив следующие шаги:

  1. Найдите ядро: Рассмотрим одно из местоположений ядра и посмотрим на пиксели изображения, покрытые девятью ячейками ядра.
  2. Умножение значений ядра и пикселей: Умножение значений в каждой из ячеек ядра на соответствующие значения пикселей изображения. У вас будет девять значений из девяти умножений.
  3. Сумма результатов умножения: Сложите эти девять значений вместе.Результатом будет значение пикселя в новом изображении, которое имеет те же координаты, что и центральный пиксель ядра.
  4. Повторите для всех пикселей: Повторите процесс для каждого пикселя изображения, каждый раз перемещая ядро ​​так, чтобы центральная ячейка ядра каждый раз соответствовала другому пикселю изображения.

Вы можете увидеть этот процесс с тремя позициями ядра, помеченными 1, 2 и 3 на диаграмме выше. Рассмотрим позицию ядра , помеченную 1 .Позиция этого ядра — (3, 2) , что является позицией его центральной ячейки, поскольку оно находится в четвертой строке (индекс = 3 ) и в третьем столбце (индекс = 2 ). Каждый пиксель изображения в области, покрываемой ядром, имеет нулевое значение.

Следовательно, все умножения из шага 2 будут равны нулю, и их сложение тоже будет равно нулю. Новое изображение будет иметь нулевое значение в пикселе (3, 2) .

Сценарий отличается для других показанных позиций ядра.Далее рассмотрим ядро ​​ с меткой 2 , расположенное по адресу (4, 7) . Один из пикселей изображения, перекрывающих это, не равен нулю. Умножение этого значения пикселя на значение ядра даст 255 x (1/9) = 28,33 . Восемь оставшихся умножений по-прежнему равны нулю, поскольку пиксели изображения равны нулю. Следовательно, значение пикселя в позиции (4, 7) в новом изображении будет 28,33 .

Третья позиция ядра , показанная выше, находится по адресу (8, 11) .С этим ядром перекрываются четыре ненулевых пикселя изображения. Каждый из них имеет значение 255 , поэтому результат умножения снова будет 28,33 для каждой из этих позиций пикселей. Общий результат для этой позиции ядра равен 28,33 x 4 = 113,33 . Новое изображение будет иметь это значение (8, 11) .

Диаграмма и обсуждение выше учитывают только три положения ядра. Процесс свертки повторяет этот процесс для каждой возможной позиции ядра в изображении.Это дает значение для каждой позиции пикселя в новом изображении.

Результат свертки показан справа на следующем изображении, исходное изображение слева:

Ядро, которое вы использовали, является ядром размытия окна. Множитель 1/9 присутствует, так что общий вес ядра равен 1 . Результатом свертки является размытая версия исходного изображения. Существуют и другие ядра, выполняющие другие функции, в том числе различные методы размытия, определение границ, повышение резкости и многое другое.

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

В следующих разделах будут рассмотрены ядра и возможности фильтрации изображений, доступные в модуле ImageFilter в Pillow.

Размытие изображения, повышение резкости и сглаживание

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

>>>
  >>> из импорта PIL Image, ImageFilter
>>> имя_файла = "здания.jpg"
>>> с Image.open(имя файла) как img:
... img.load()
...
  

В дополнение к Image вы также импортируете модуль ImageFilter из Pillow. Вы можете использовать метод .filter() , чтобы применить фильтрацию к изображению. Этот метод требует ядра свертки в качестве аргумента, и вы можете использовать одно из нескольких ядер, доступных в модуле ImageFilter в Pillow.Первый набор фильтров, о котором вы узнаете, касается размытия, повышения резкости и сглаживания изображения.

Вы можете размыть изображение, используя предустановленный фильтр ImageFilter.BLUR :

>>>
  >>> blur_img = img.filter(ImageFilter.BLUR)
>>> blur_img.show()
  

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

>>>
  >>> img.crop((300, 300, 500, 500)).show()
>>> blur_img.crop((300, 300, 500, 500)).show()
  

Два обрезанных изображения показывают разницу между двумя версиями:

Вы можете настроить необходимый тип и степень размытия, используя ImageFilter.BoxBlur() или ImageFilter.GaussianBlur() :

>>>
  >>> img.filter(ImageFilter.BoxBlur(5)).show()
>>> изображение.фильтр(ImageFilter.BoxBlur(20)).show()
>>> img.filter(ImageFilter.GaussianBlur(20)).show()
  

Вы можете увидеть три размытых изображения ниже, показанные в том же порядке, что и в приведенном выше коде:

Фильтр .BoxBlur() аналогичен фильтру, описанному в предыдущем разделе, в котором представлены ядра свертки. Аргументом является радиус фильтра размытия прямоугольника. В предыдущем разделе, посвященном ядрам, вы использовали фильтр блочного размытия 3x3 .Это означает, что он имел радиус 1 , потому что фильтр простирается на один пиксель от центра.

Размытые изображения показывают, что фильтр размытия прямоугольной формы с радиусом 20 создает более размытое изображение, чем изображение, сгенерированное фильтром размытия прямоугольной формы с радиусом 5 .

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

Что делать, если вы хотите повысить резкость изображения? В этом случае вы можете использовать фильтр ImageFilter.SHARPEN и сравнить результат с исходным изображением:

>>>
  >>> Sharp_img = img.filter(ImageFilter.SHARPEN)
>>> img.crop((300, 300, 500, 500)).show()
>>> Sharp_img.crop((300, 300, 500, 500)).show()
  

Вы сравниваете обрезанную версию обоих изображений, показывающих небольшую часть здания.Изображение с резкостью справа:

Возможно, вместо увеличения резкости изображение нужно сгладить. Вы можете добиться этого, передав ImageFilter.SMOOTH в качестве аргумента для .filter() :

>>>
  >>> smooth_img = img.filter(ImageFilter.SMOOTH)
>>> img.crop((300, 300, 500, 500)).show()
>>> smooth_img.crop((300, 300, 500, 500)).show()
  

Ниже вы можете увидеть исходное изображение слева и сглаженное изображение справа:

Вы увидите применение сглаживающего фильтра в следующем разделе, в котором вы узнаете о дополнительных фильтрах в модуле ImageFilter .Эти фильтры воздействуют на края объектов на изображении.

Обнаружение краев, улучшение краев и тиснение

Когда вы смотрите на изображение, относительно легко определить края объектов на этом изображении. Алгоритм также может автоматически обнаруживать ребра, используя ядра обнаружения ребер.

Модуль ImageFilter в Pillow имеет предопределенное ядро ​​для достижения этой цели. В этом разделе вы снова воспользуетесь изображением зданий и преобразуете его в оттенки серого, прежде чем применять фильтр обнаружения краев.Вы можете продолжить сеанс REPL из предыдущего раздела:

>>>
  >>> img_gray = img.convert("L")
>>> края = img_gray.filter(ImageFilter.FIND_EDGES)
>>> края.показать()
  

Результатом является изображение, показывающее края исходного изображения:

Этот фильтр идентифицирует края изображения. Вы можете получить лучший результат, применив фильтр ImageFilter.SMOOTH перед поиском краев:

>>>
  >>> img_gray_smooth = img_gray.фильтр(ImageFilter.SMOOTH)
>>> edges_smooth = img_gray_smooth.filter(ImageFilter.FIND_EDGES)
>>> edge_smooth.show()
  

Вы можете увидеть сравнение исходного изображения в градациях серого и двух результатов обнаружения границ ниже. Версия со сглаживанием перед распознаванием краев показана внизу:

Вы также можете улучшить края исходного изображения с помощью фильтра ImageFilter.EDGE_ENHANCE :

>>>
  >>> edge_enhance = img_gray_smooth.фильтр (ImageFilter.EDGE_ENHANCE)
>>> edge_enhance.show()
  

Вы использовали сглаженную версию изображения в градациях серого для улучшения краев. Часть исходного изображения в градациях серого и изображение с улучшенными краями показаны рядом ниже. Изображение с усилением краев справа:

Другим предопределенным фильтром в ImageFilter , который работает с краями объекта, является ImageFilter.EMBOSS . Вы можете передать его в качестве аргумента .filter() , как и с другими фильтрами в этом разделе:

>>>
  >>> рельеф = img_gray_smooth.фильтр(ImageFilter.EMBOSS)
>>> рельеф.показать()
  

Вы используете сглаженную версию в градациях серого в качестве отправной точки для этого фильтра. Ниже вы можете увидеть рельефное изображение, на котором показан другой эффект с использованием краев на изображении:

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

Сегментация и наложение изображений: пример

В этом разделе вы будете использовать файлы изображений с именами cat.jpg (изображение предоставлено) и монастыря.jpg (изображение предоставлено), которые вы можете найти в репозитории изображений для этого урока:

Вот два изображения:

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

Пороговое значение изображения

Вы начнете с cat.jpg . Вам нужно будет удалить изображение кошки с фона, используя методы сегментации изображения. В этом примере вы сегментируете изображение, используя методы пороговой обработки.

Во-первых, вы можете обрезать изображение до меньшего размера, чтобы удалить часть фона. Вы можете начать новую сессию REPL для этого проекта:

>>>
  >>> из изображения импорта PIL
>>> filename_cat = "cat.jpg"

>>> с Image.open(filename_cat) как img_cat:
... img_cat.load()
...

>>> img_cat = img_cat.crop((800, 0, 1650, 1281))
>>> img_cat.show()
  

Обрезанное изображение содержит кошку и часть фона, который слишком близок к кошке, чтобы его можно было обрезать:

Каждый пиксель цветного изображения представляется в цифровом виде тремя числами, соответствующими значениям красного, зеленого и синего цвета этого пикселя. Пороговое значение — это процесс преобразования всех пикселей в максимальное или минимальное значение в зависимости от того, выше или ниже они определенного числа.Это проще сделать на изображении в градациях серого:

>>>
  >>> img_cat_gray = img_cat.convert("L")
>>> img_cat_gray.show()
>>> порог = 100
>>> img_cat_threshold = img_cat_gray.point(
... лямбда x: 255, если x > пороговое значение, иначе 0
... )
>>> img_cat_threshold.show()
  

Вы достигаете порога, вызывая .point() для преобразования каждого пикселя в изображении в градациях серого либо в 255 , либо в 0 .Преобразование зависит от того, больше или меньше значение в изображении в градациях серого порогового значения. Пороговое значение в этом примере — 100 .

На рисунке ниже показано изображение в градациях серого и результат обработки порога:

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

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

Вы можете извлечь красный, зеленый и синий каналы из цветного изображения, как делали это ранее:

>>>
  >>> красный, зеленый, синий = img_cat.расколоть()
>>> красный.показать()
>>> зеленый.показать()
>>> синий.показать()
  

Красный, зеленый и синий каналы показаны ниже слева направо. Все три отображаются как изображения в градациях серого:

Синий канал имеет более высокий контраст между пикселями, представляющими кошку, и пикселями, представляющими фон. Вы можете использовать изображение синего канала для порога:

>>>
  >>> порог = 57
>>> img_cat_threshold = синий.точка (лямбда x: 255, если x > пороговое значение, иначе 0)
>>> img_cat_threshold = img_cat_threshold.convert("1")
>>> img_cat_threshold.show()
  

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

Примечание: При работе с определенными форматами изображений, такими как JPEG, которые основаны на сжатии с потерями, изображения могут незначительно отличаться в зависимости от того, какие декодеры JPEG вы используете.Различные операционные системы часто поставляются с разными декодерами JPEG по умолчанию. Поэтому результаты, которые вы получаете при обработке изображений, могут различаться в зависимости от используемой операционной системы и декодера JPEG.

Возможно, вам придется немного изменить пороговое значение, если ваши результаты не соответствуют результатам, показанным в этом руководстве.

Результат пороговой обработки следующий:

Вы можете узнать кошку на этом черно-белом изображении. Однако вы хотели бы иметь изображение, в котором все пиксели, соответствующие кошке, белые, а все остальные пиксели — черные.На этом изображении у вас все еще есть черные области в области, соответствующей кошке, например, где находятся глаза, нос и рот, а также у вас все еще есть белые пиксели в других местах изображения.

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

Эрозия и расширение

Вы можете просмотреть файл изображения с именем dot_and_hole.jpg , который можно загрузить из репозитория, связанного с этим руководством:

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

Эрозия — это процесс удаления белых пикселей с границ изображения. Вы можете добиться этого в двоичном изображении, используя ImageFilter.MinFilter(3) в качестве аргумента для метода .filter() . Этот фильтр заменяет значение пикселя минимальным значением из девяти пикселей в массиве 3x3 , центрированном вокруг пикселя. В бинарном изображении это означает, что пиксель будет иметь нулевое значение, если любой из его соседних пикселей равен нулю.

Вы можете увидеть эффект эрозии, применив ImageFilter.MinFilter(3) несколько раз к изображению dot_and_hole.jpg . Вы должны продолжить тот же сеанс REPL, что и в предыдущем разделе:

. >>>
  >>> из PIL импортировать ImageFilter
>>> имя_файла = "dot_and_hole.jpg"

>>> с Image.open(имя файла) как img:
... img.load()
...

>>> для _ в диапазоне (3):
... img = img.filter(ImageFilter.MinFilter(3))
...

>>> img.show()
  

Вы применили фильтр три раза, используя цикл для .Этот код дает следующий вывод:

Точка уменьшилась, но отверстие увеличилось в результате эрозии.

Дилатация – процесс, противоположный эрозии. Белые пиксели добавляются к границам бинарного изображения. Вы можете добиться расширения, используя ImageFilter.MaxFilter(3) , который преобразует пиксель в белый, если любой из его соседей белый.

Вы можете применить расширение к тому же изображению, содержащему точку и отверстие, которое вы можете открыть и снова загрузить:

>>>
  >>> с изображением.открыть (имя файла) как img:
... img.load()
...

>>> для _ в диапазоне (3):
... img = img.filter(ImageFilter.MaxFilter(3))
...

>>> img.show()
  

Точка стала больше, а отверстие уменьшилось:

Вы можете использовать эрозию и расширение вместе, чтобы заполнить дыры и удалить мелкие объекты из бинарного изображения. Используя изображение с точкой и отверстием, вы можете выполнить десять циклов эрозии, чтобы удалить точку, а затем десять циклов расширения, чтобы восстановить исходный размер отверстия:

>>>
  >>> с изображением.открыть (имя файла) как img:
... img.load()
...

>>> для _ в диапазоне (10):
... img = img.filter(ImageFilter.MinFilter(3))
...

>>> img.show()

>>> для _ в диапазоне (10):
... img = img.filter(ImageFilter.MaxFilter(3))
...

>>> img.show()
  

Вы выполняете десять циклов эрозии с первым циклом for . Образ на данном этапе следующий:

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

Однако на изображении больше нет точки. Эрозии и расширения изменили изображение, чтобы сохранить отверстие, но удалить точку. Количество необходимых эрозий и расширений зависит от изображения и того, чего вы хотите достичь. Часто вам нужно будет найти правильную комбинацию методом проб и ошибок.

Вы можете определить функции для выполнения нескольких циклов эрозии и расширения:

>>>
  >>> def erode(циклы, изображение):
... для _ в диапазоне (циклы):
... изображение = изображение.фильтр (ImageFilter.MinFilter (3))
... вернуть изображение
...

>>> def dilate(циклы, изображение):
... для _ в диапазоне (циклы):
... изображение = изображение.фильтр (ImageFilter.MaxFilter (3))
... вернуть изображение
...
  

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

Сегментация изображения с использованием порогового значения

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

Начиная с изображения img_cat_threshold , которое вы получили ранее, вы можете начать с серии эрозий, чтобы удалить белые пиксели, представляющие фон в исходном изображении. Вы должны продолжить работу в том же сеансе REPL, что и в предыдущих разделах:

. >>>
  >>> step_1 = разрушить (12, img_cat_threshold)
>>> шаг_1.показывать()
  

Размытое пороговое изображение больше не содержит белых пикселей, представляющих фон изображения:

Однако оставшаяся маска меньше общего контура кота и имеет отверстия и промежутки внутри. Вы можете выполнить расширение, чтобы заполнить пробелы:

>>>
  >>> step_2 = расширить (58, step_1)
>>> step_2.show()
  

Пятьдесят восемь циклов расширения заполнили все отверстия в маске, чтобы получить следующее изображение:

Однако эта маска слишком велика.Таким образом, вы можете закончить процесс серией эрозий:

>>>
  >>> cat_mask = erode(45, step_2)
>>> cat_mask.show()
  

В результате получается маска, которую можно использовать для сегментации изображения кота:

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

. >>>
  >>> cat_mask = cat_mask.convert("L")
>>> маска_кошки = маска_кошки.фильтр(ImageFilter.BoxBlur(20))
>>> cat_mask.show()
  

Фильтр BoxBlur() возвращает следующую маску:

Маска теперь похожа на кошку! Теперь вы готовы извлечь изображение кота из фона:

>>>
  >>> пусто = img_cat.point(лямбда _: 0)
>>> cat_segmented = Image.composite(img_cat, пусто, cat_mask)
>>> cat_segmented.show()
  

Сначала вы создаете пустой образ того же размера, что и img_cat .Вы создаете новый объект Image из img_cat , используя .point() и устанавливая все значения равными нулю. Затем вы используете функцию Composite() в PIL.Image для создания изображения, состоящего из img_cat и Blank с использованием cat_mask , чтобы определить, какие части каждого изображения используются. Составное изображение показано ниже:

Вы сегментировали изображение кота и выделили его из фона.

Наложение изображений с использованием

Image.paste()

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

>>>
  >>> filename_monastery = "monastery.jpg"
>>> с Image.open(filename_monastery) как img_monastery:
... img_monastery.load()

>>> img_monastery.paste(
... img_cat.resize((img_cat.width // 5, img_cat.высота // 5)),
... (1300, 750),
... cat_mask.resize((cat_mask.width // 5, cat_mask.height // 5)),
... )

>>> img_monastery.show()
  

Вы использовали .paste() для вставки изображения в другое. Этот метод можно использовать с тремя аргументами:

.
  • Первый аргумент — это изображение , которое вы хотите вставить. Вы изменяете размер изображения до одной пятой его размера с помощью оператора целочисленного деления ( // ).
  • Второй аргумент — это местоположение на основном изображении, куда вы хотите вставить второе изображение.Кортеж включает в себя координаты в пределах основного изображения, где вы хотите поместить верхний левый угол изображения, которое вы вставляете.
  • Третий аргумент предоставляет маску , которую вы хотите использовать, если не хотите вставлять все изображение.

Вы использовали маску, полученную в процессе пороговой обработки, эрозии и расширения, чтобы вставить кошку без фона. На выходе получается следующее изображение:

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

Создание водяного знака

Ваша последняя задача в этом примере — добавить логотип Real Python в качестве водяного знака на изображение. Вы можете получить файл изображения с логотипом Real Python из репозитория, сопровождающего это руководство:

.

Вы должны продолжить работу в том же сеансе REPL:

>>>
  >>> logo = "realpython-logo.png"
>>> с Image.open(лого) как img_logo:
... img_logo.load()
...

>>> img_logo = Image.open(логотип)
>>> img_logo.показывать()
  

Это полноразмерный логотип в цвете:

Вы можете изменить изображение в градациях серого и установить пороговое значение, используя .point() , чтобы преобразовать его в черно-белое изображение. Вы также уменьшаете его размер и превращаете в контурное изображение:

>>>
  >>> img_logo = img_logo.convert("L")
>>> порог = 50
>>> img_logo = img_logo.point(лямбда x: 255, если x > пороговое значение, иначе 0)
>>> img_logo = img_logo.resize(
... (img_logo.width // 2, img_logo.height // 2)
... )
>>> img_logo = img_logo.filter(ImageFilter.CONTOUR)
>>> img_logo.show()
  

На выходе показан контур логотипа Real Python. Контур идеально подходит для использования в качестве водяного знака на вашем изображении:

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

>>>
  >>> img_logo = img_logo.точка (лямбда x: 0, если x == 255 иначе 255)
>>> img_logo.show()
  

Вы преобразовали пиксели со значением 255 и присвоили им значение 0 , преобразовав их из белых в черные пиксели. Вы устанавливаете оставшиеся пиксели белыми. Логотип с перевернутым контуром показан ниже:

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

>>>
  >>> img_monastery.вставить (img_logo, (480, 160), img_logo)
>>> img_monastery.show()
  

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

Изображение теперь содержит водяной знак Real Python:

Водяной знак имеет прямоугольный контур, что является результатом контурного фильтра, который вы использовали ранее.Если вы предпочитаете удалить этот контур, вы можете обрезать изображение с помощью .crop() . Это упражнение вы можете попробовать самостоятельно.

Обработка изображений с помощью NumPy и Pillow

Pillow имеет широкий выбор встроенных функций и фильтров. Однако бывают случаи, когда вам нужно пойти дальше и манипулировать изображениями за пределами функций, которые уже доступны в Pillow.

Вы можете дальше манипулировать изображением с помощью NumPy. NumPy — очень популярная библиотека Python для работы с числовыми массивами, и это идеальный инструмент для использования с Pillow.Вы можете узнать больше о NumPy в учебнике по NumPy: ваши первые шаги в науке о данных в Python.

Когда вы конвертируете изображение в массив NumPy, вы можете выполнять любые необходимые преобразования непосредственно с пикселями в массиве. После завершения обработки в NumPy вы можете преобразовать массив обратно в объект Image с помощью Pillow. Вам нужно установить NumPy для этого раздела:

  (venv) $ python -m pip установить numpy
  

Теперь, когда вы установили NumPy, вы готовы использовать Pillow и NumPy, чтобы определить разницу между двумя изображениями.

Использование NumPy для вычитания изображений друг из друга

Посмотрите, сможете ли вы найти различия между следующими двумя изображениями:

Это не сложно! Однако вы решаете схитрить и написать программу на Python, которая решит головоломку за вас. Вы можете загрузить файлы изображений house_left.jpg и house_right.jpg (изображение предоставлено) из репозитория, сопровождающего это руководство:

Ваш первый шаг — прочитать изображения с помощью Pillow и преобразовать их в массивы NumPy:

>>>
  >>> импортировать numpy как np
>>> из изображения импорта PIL

>>> с изображением.open("house_left.jpg") слева:
... оставил.загрузить()
...
>>> с Image.open("house_right.jpg") правильно:
... правильно.загрузить()
...

>>> левый_массив = np.asarray(левый)
>>> right_array = np.asarray(справа)

>>> тип(левый_массив)
<класс 'numpy.ndarray'>
>>> тип(правый_массив)
<класс 'numpy.ndarray'>
  

Поскольку left_array и right_array являются объектами типа numpy.ndarray , вы можете манипулировать ими, используя все инструменты, доступные в NumPy.Вы можете вычесть один массив из другого, чтобы показать пиксели, которые различаются между двумя изображениями:

>>>
  >>> разностный_массив = правый_массив - левый_массив
>>> тип (разностный_массив)
<класс 'numpy.ndarray'>
  

Когда вы вычитаете массив из другого массива того же размера, в результате получается еще один массив той же формы, что и исходные массивы. Вы можете преобразовать этот массив в изображение, используя Image.fromarray() в Pillow:

. >>>
  >>> разница = изображение.из массива (difference_array)
>>> разница.показать()
  

Результатом вычитания одного массива NumPy из другого и преобразования в Pillow Image является разностное изображение, показанное ниже:

Разностное изображение показывает только три области исходного изображения. Эти области подчеркивают различия между двумя изображениями. Вы также можете увидеть некоторый шум вокруг облака и забора из-за небольших изменений в исходном сжатии JPEG в области, окружающей эти элементы.

Использование NumPy для создания изображений

Вы можете пойти дальше и создавать образы с нуля, используя NumPy и Pillow. Вы можете начать с создания изображения в градациях серого. В этом примере вы создадите простое изображение, содержащее квадрат, но таким же образом вы можете создать более сложные изображения:

>>>
  >>> импортировать numpy как np
>>> из изображения импорта PIL

>>> квадрат = np.zeros((600, 600))
>>> квадрат[200:400, 200:400] = 255

>>> Square_img = Изображение.из массива (квадрат)
>>> Square_img
<Режим изображения PIL.Image.Image=F size=600x600 в 0x7FC7D8541F70>

>>> Square_img.show()
  

Вы создаете массив размером 600x600 , содержащий везде нули. Затем вы устанавливаете значение набора пикселей в центре массива равным 255 .

Вы можете индексировать массивы NumPy, используя как строки, так и столбцы. В этом примере первый срез 200:400 представляет строки с 200 по 399 .Второй фрагмент, 200:400 , следующий за запятой, представляет столбцы с 200 по 399 .

Вы можете использовать Image.fromarray() для преобразования массива NumPy в объект типа Image . Вывод кода выше показан ниже:

Вы создали изображение в градациях серого, содержащее квадрат. Режим изображения выводится автоматически при использовании Image.fromarray() . В данном случае используется режим "F" , который соответствует изображению с 32-битными пикселями с плавающей запятой.Вы можете преобразовать это в более простое изображение в градациях серого с 8-битными пикселями, если хотите:

>>>
  >>> Square_img = Square_img.convert("L")
  

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

>>>
  >>> красный = np.zeros((600, 600))
>>> зеленый = нп.нули((600, 600))
>>> синий = np.zeros((600, 600))
>>> красный[150:350, 150:350] = 255
>>> зеленый[200:400, 200:400] = 255
>>> синий[250:450, 250:450] = 255

>>> red_img = Изображение.из массива(красный).конвертировать("L")
>>> green_img = Image.fromarray(green).convert("L")
>>> blue_img = Image.fromarray((синий)).convert("L")
  

Вы создаете объект Image из каждого массива NumPy и конвертируете изображения в режим "L" , который представляет оттенки серого.Теперь вы можете объединить эти три отдельных изображения в одно изображение RGB, используя Image.merge() :

. >>>
  >>> Square_img = Image.merge("RGB", (red_img, green_img, blue_img))
>>> Square_img


>>> Square_img.show()
  

Первый аргумент в Image.merge() — это режим вывода изображения. Второй аргумент — последовательность с отдельными одноканальными изображениями.Этот код создает следующее изображение:

Вы объединили отдельные каналы в цветное изображение RGB. В следующем разделе вы сделаете еще один шаг и создадите GIF-анимацию с помощью NumPy и Pillow.

Создание анимации

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

>>>
  >>> импортировать numpy как np
>>> из изображения импорта PIL

>>> квадрат_анимация = []
>>> для смещения в диапазоне (0, 100, 2):
... красный = np.zeros((600, 600))
... зеленый = np.zeros((600, 600))
... синий = np.zeros((600, 600))
... красный [101 + смещение: 301 + смещение, 101 + смещение: 301 + смещение] = 255
... зеленый[200:400, 200:400] = 255
... синий[299 - смещение : 499 - смещение, 299 - смещение : 499 - смещение] = 255
... red_img = Image.fromarray(red).convert("L")
... green_img = Image.fromarray(green).convert("L")
... blue_img = Image.fromarray((синий)).convert("L")
... Square_animation.append(
...         Изображение.объединить(
..."RGB",
... (red_img, green_img, blue_img)
... )
... )
...
  

Вы создаете пустой список с именем Square_Animation , который вы будете использовать для хранения различных созданных вами изображений. В цикле для вы создаете массивы NumPy для красного, зеленого и синего каналов, как вы это делали в предыдущем разделе. Массив, содержащий зеленый слой, всегда один и тот же и представляет собой квадрат в центре изображения.

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

Обратите внимание, что в этом примере вы перебираете range(0, 100, 2) , что означает, что переменная offset увеличивается с шагом в два.

Ранее вы узнали, что можно сохранить объект Image в файл с помощью Image.сохранить() . Вы можете использовать ту же функцию для сохранения в файл GIF, содержащий последовательность изображений. Вы вызываете Image.save() для первого изображения в последовательности, которое является первым изображением, которое вы сохранили в списке Square_Animation :

>>>
  >>> Square_animation[0].save(
... "animation.gif", save_all=True, append_images=square_animation[1:]
... )
  

Первый аргумент в .save() — это имя файла, который вы хотите сохранить.Расширение в имени файла сообщает .save() , какой формат файла требуется для вывода. Вы также включаете два аргумента ключевого слова в .save() :

  • save_all=True гарантирует сохранение всех изображений в последовательности, а не только первого.
  • append_images=square_animation[1:] позволяет добавлять оставшиеся изображения в последовательности в файл GIF.

Этот код сохраняет animation.gif в файл, после чего вы можете открыть файл GIF с помощью любого программного обеспечения для работы с изображениями.GIF должен зацикливаться по умолчанию, но в некоторых системах вам потребуется добавить аргумент ключевого слова loop=0 к .save() , чтобы обеспечить зацикливание GIF. Анимация, которую вы получите, следующая:

Три квадрата разных цветов сливаются в один белый квадрат. Можете ли вы создать свою собственную анимацию, используя разные формы и разные цвета?

Заключение

Вы узнали, как использовать Pillow для работы с изображениями и выполнения обработки изображений.Если вам нравилось работать с изображениями, вы можете с головой окунуться в мир обработки изображений. Еще многое предстоит узнать о теории и практике обработки изображений. Хорошей отправной точкой является «Цифровая обработка изображений » Гонсалеса и Вудса, который является классическим учебником в этой области.

Pillow — не единственная библиотека, которую вы можете использовать в Python для обработки изображений. Если ваша цель состоит в том, чтобы выполнить некоторую базовую обработку, то методы, которые вы изучили в этом руководстве, могут быть всем, что вам нужно.Если вы хотите углубиться в более продвинутые методы обработки изображений, например, для приложений машинного обучения и компьютерного зрения, вы можете использовать Pillow в качестве трамплина для других библиотек, таких как OpenCV и scikit-image.

В этом уроке вы узнали, как:

  • Чтение изображений с подушкой
  • Выполнение основных операций с изображениями
  • Использовать подушку для обработки изображений
  • Использовать NumPy с подушкой для дальнейшей обработки
  • Создание анимации с помощью Pillow

Теперь просмотрите изображения в папке с изображениями на вашем компьютере и выберите несколько, которые вы можете прочитать как изображения с помощью Pillow, решите, как вы хотите обработать эти изображения, а затем выполните некоторую обработку изображений.Повеселись!

Простой урок рисования клубники · Художественные проекты для детей

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

Рисунок клубники

Клубника — вкусный фрукт, но он также обладает множеством удивительных преимуществ для здоровья. Вот несколько забавных фактов:

• Клубника относится к семейству розовых и является единственным фруктом, у которого снаружи есть семена.

• Клубника официально называется дополнительным фруктом, что означает, что мясистая часть, которую вы едите, на самом деле является стеблем растения.

• Вы думаете, клубника бывает только красной? Подумать дважды! Есть желтая, синяя, белая, черная, фиолетовая клубника. Некоторые ягоды клубники даже размером с яблоко.

Когда дело доходит до рисования клубники, не так уж сложно сделать ее реалистичной. Они похожи на сердце с плоским дном, с веточкой листьев и стеблем наверху и упорядоченным пучком маленьких овальных семян по бокам.Наблюдение за большим примером, подобным этому, поможет учащимся увидеть, где разместить все эти детали.

Используйте кнопку ниже, чтобы загрузить учебник в формате PDF

Как нарисовать клубнику шаг за шагом Материалы

  • Ластик. Большие карандаши, которые можно держать в руке, работают гораздо лучше, чем просто кончики карандашей.
  • Черный Маркер Sharpie . Эти перманентные маркеры с тонким концом создают красивые черные контуры, имеют хороший наконечник для окрашивания и никогда не растекаются, когда намокают.Используйте их с хорошей вентиляцией и подложите под них дополнительную бумагу, чтобы защитить столы.
  • Мелки Prang . Они немного мягче, чем другие мелки, поэтому иногда выглядят как масляная пастель. У них также есть несколько приятных коричневых оттенков, которых нет у Crayola, если только вы не купите их большие коробки.

Leave a Reply

Ваш адрес email не будет опубликован.