Acontece que você vai ao correio e vê outra coleção de artigos que nunca leu, mas aqui as estrelas convergiram tanto que eu abri o artigo e li, e descobri onde seria útil na prática. E agora quero compartilhar um artigo com o Habr, para que se alguém precisar de um guia simples e compreensível para trabalhar com imagens em Python, por favor.
Pillow é uma biblioteca de imagens de código aberto gratuita ( doravante denominada Biblioteca de Imagens ) em Python que adiciona suporte para abrir, modificar e salvar imagens em várias extensões de seu código.
vamos começar
A classe mais importante na biblioteca de imagens Python é a classe Image, definida no módulo de mesmo nome. Usamos open () para abrir uma imagem em nosso diretório local, conforme mostrado abaixo:
from PIL import Image
sample = Image.open('pena.jpg')
É simples! Agora você pode ler imagens usando o Pillow , o que significa que você pode começar a processar imagens com ele. Você também pode verificar o tipo de imagem que acabamos de enviar.
type(sample) PIL.JpegImagePlugin.JpegImageFile
Você pode ver as propriedades da imagem, por exemplo:
- formato
- o tamanho
- modo de cor
sample.format
'JPEG'
sample.size
(640, 640)
sample.mode
'RGB'
, , show
sample.show() # , PNG
Pillow , , , jpg png .
, Python , jpg, png.
import os
import sys
from PIL import Image
jpg_images = [image for image in os.listdir() if image.endswith('.jpg')]
for jpg_image in jpg_images:
try:
new_name = jpg_image.split('.')[0] + '.png'
Image.open(jpg_image).save(new_name)
except IOError as error:
print('Couldn\'t read {} '.format(jpg_image))
, , , jpg, .png, . .
Pillow , , , .
from PIL import Image
picture = Image.open('pena.png')
cord = (10, 10, 640, 340) # , , ,
new_picture = picture.crop(cord)
new_picture.show()
, . .
(x, y) , (x2, y2) .
Pillow , .
.
from PIL import Image
image = Image.open('pena.png')
resized_image = image.resize((320, 320))
resized_image.save('resized.png')
, 320 320.
from PIL import Image
image = Image.open('pena.png')
rotated_img = image.rotate(80)
rotated_img.save('./rotation/rotated_img.png')
360 — , .
from PIL import Image
images = ['pena.jpg']
for img in images:
try:
org_img = Image.open(img)
for angle in range(1, 361):
image_name = str(angle)+'.jpg'
new_img = org_img.rotate(angle)
new_img.save('./rotation/'+image_name)
except IOError:
print('Couldn\'t read {}'.format(img))
, 360 , .
— . , , .
, , ,- , , .
Pillow , BLUR, BoxBlur, CONTOUR, FIND_EDGES, Filter, GaussianBlur, Kernel, MaxFilter, MedianFilter, SHARPEN, SMOOTH ..
, FIND_EDGES.
from PIL import Image
from PIL import Image, ImageFilter
image = Image.open('pena.jpg')
edges = image.filter(ImageFilter.FIND_EDGES)
edges.show()
Python Pillow , .
, Pillow Python,
from PIL import Image
image = Image.open(open('pena.jpg', 'rb'))
URL
Pillow . GET-request , , Pillow .
import requests
from PIL import Image
url = 'http://pena.marketing/images/Logo1.png'
raw = requests.get(url, stream=True).raw
Image.open(raw).show()
Pillow , . Image.new() .
:
new = Image.new(mode, shape, color)
:
from PIL import Image
new_img = Image.new('RGB', (500, 500), 'blue')
new_img.show()
Pillow . . , .
.
from PIL import Image, ImageDraw
new_img = Image.new('RGB', (400, 400), 'black')
pencil = ImageDraw.Draw(new_img)
pencil.rectangle((200, 50, 300, 300), fill ='green')
new_img.show()
(x, y) , (x2, y2) .
Pillow .
from PIL import Image , ImageDraw, ImageFont
new_img = Image.new('RGB', (200, 200), 'black')
font = ImageFont.load_default()
pencil = ImageDraw.Draw(new_img)
pencil.text((100,100),'Hello World', font=font, fill='blue', size = 36)
new_img.show()
:
- Pillow
- Jupyter Notebook