画像操作

ほとんどの画像処理および操作技術は、Python Imaging Library(PIL)とOpenSource Computer Vision(OpenCV)の2つのライブラリを使用して効果的に実行できます。

両方の簡単な説明を以下に示します。

Python Imaging Library

Python Imaging Library またはPILは、Pythonでの画像操作のためのコアライブラリの1つです。 残念ながら、2009年の最後のリリースでは、その開発は停滞しています。

幸いなことに、積極的に開発されたPILのフォーク Pillow があります。インストールが簡単で、すべてのオペレーティングシステムで動作し、Python 3をサポートしています。

インストール

Pillowをインストールする前に、Pillowの前提条件をインストールする必要があります。 Pillowのインストール手順 でお使いのプラットフォームの手順を見つけてください。

その後、それは簡単です:

$ pip install Pillow

from PIL import Image, ImageFilter
#Read image
im = Image.open( 'image.jpg' )
#Display image
im.show()

#Applying a filter to the image
im_sharp = im.filter( ImageFilter.SHARPEN )
#Saving the filtered image to a new file
im_sharp.save( 'image_sharpened.jpg', 'JPEG' )

#Splitting the image into its respective bands, i.e. Red, Green,
#and Blue for RGB
r,g,b = im_sharp.split()

#Viewing EXIF data embedded in image
exif_data = im._getexif()
exif_data

Pillowライブラリの例は、 Pillow tutorial にあります。

OpenSource Computer Vision

OpenSource Computer Visionは、一般にOpenCVとして知られ、PILよりも高度な画像操作と処理ソフトウェアです。 いくつかの言語で実装されており、広く使用されています。

インストール

Pythonでは、OpenCVを使った画像処理は cv2NumPy モジュールを使って実装されています。 OpenCVのインストール手順 はあなた自身でプロジェクトを設定する際の手引きです 。

NumPyは、Python Package Index(PyPI)からダウンロードできます。

$ pip install numpy

Example

from cv2 import *
import numpy as np
#Read Image
img = cv2.imread('testimg.jpg')
#Display Image
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

#Applying Grayscale filter to image
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#Saving filtered image to new file
cv2.imwrite('graytest.jpg',gray)

この チュートリアルのコレクション には、Pythonで実装されたOpenCVの例がたくさんあります