Pillowを使用したPythonでの画像処理の概要

たまたま郵便局に行って、今まで読んだことのない別の記事のコレクションを見たことがありますが、ここでは星が集まって記事を開いて読んで、実際にどこに役立つかを考えました。そして今、私はHabrと記事を共有したいので、誰かがPythonで画像を操作するための簡単で理解しやすいガイドが必要な場合は、どうぞ。







Pillowは、Pythonの無料のオープンソースイメージングライブラリ(以下、イメージングライブラリ)であり、コードのさまざまな拡張機能でイメージを開いたり、変更したり、保存したりするためのサポートを追加します。







はじめましょう



Imaging Library Pythonで最も重要なクラスは、同じ名前のモジュールで定義されているImageクラスです。次に示すように、open()を使用してローカルディレクトリの画像を開きます。







from PIL import Image
sample = Image.open('pena.jpg')
      
      





簡単です!これでPillowを使用して画像を読み取ることができます。つまり、Pillowを使用して画像の処理を開始できます。アップロードした画像の種類も確認できます。







type(sample)
PIL.JpegImagePlugin.JpegImageFile
      
      





次に、画像のプロパティを確認できます。







  • フォーマット
  • サイズ
  • カラーモード


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()
      
      











:










All Articles