画像操作¶
ほとんどの画像処理および操作技術は、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を使った画像処理は cv2
と NumPy
モジュールを使って実装されています。 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の例がたくさんあります