Pythonで画像を表示し、回転や拡大縮小を行うには、主に以下のライブラリが利用されます。
- OpenCV: 画像処理に特化した強力なライブラリです。リアルタイムな画像処理やコンピュータビジョンに適しています。
- Pillow (PIL Fork): 画像処理の基本的な操作に特化したライブラリです。シンプルな画像処理に適しています。
- Matplotlib: グラフ描画ライブラリですが、画像の表示にも利用できます。科学技術系のデータ可視化に適しています。
OpenCVを使った例
Python
import cv2
import numpy as np
# 画像を読み込む
img = cv2.imread('image.jpg')
# 画像を表示する
cv2.imshow('Original Image', img)
cv2.waitKey(0)
# 画像を回転する (時計回りに45度回転)
rows, cols = img.shape[:2]
M = cv2.getRotationMatrix2D((cols/2,rows/2), 45, 1)
rotated_img = cv2.warpAffine(img, M, (cols, rows))
cv2.imshow('Rotated Image', rotated_img)
c v2.waitKey(0)
# 画像を拡大縮小する (1.5倍に拡大)
resized_img = cv2.resize(img, None, fx=1.5, fy=1.5)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Pillowを使った例
Python
from PIL import Image
# 画像を読み込む
img = Image.open('image.jpg')
# 画像を表示する
img.show()
# 画像を回転する (時計回りに90度回転)
rotated_img = img.rotate(90)
rotated_img.show()
# 画像を拡大縮小する (0.5倍に縮小)
resized_img = img.resize((int(img.width * 0.5), int(img.height * 0.5)))
resized_img.show()
Matplotlibを使った例
Python
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 画像を読み込む
img = mpimg.imread('image.jpg')
# 画像を表示する
plt.imshow(img)
plt.axis('off') # 軸を表示しない
plt.show()
# 画像を回転する (反時計回りに30度回転)
rotated_img = plt.imread('image.jpg')
plt.imshow(rotated_img, interpolation='bicubic')
plt.gca().set_rotation(30)
plt.show()
# 画像を拡大縮小する (2倍に拡大)
resized_img = plt.imread('image.jpg')
plt.imshow(resized_img, interpolation='nearest')
plt.axis('image') # 画像のアスペクト比を維持
plt.show()
各ライブラリの特長と使い分け
- OpenCV: 高速な画像処理、リアルタイム処理、コンピュータビジョンに強い。
- Pillow: シンプルな画像処理、Webアプリケーションでの画像処理に適している。
- Matplotlib: グラフ描画、科学技術系のデータ可視化に強く、画像表示も可能。
どのライブラリを選ぶかは、やりたい処理の複雑さや、他のライブラリとの連携など、様々な要因によって変わってきます。
その他
- 回転角: OpenCVでは正の値で時計回り、Pillowでは正の値で反時計回りの回転になります。
- 拡大縮小:
cv2.resize
ではfx
とfy
でそれぞれx方向とy方向の拡大率を指定します。Pillowでは新しいサイズをタプルで指定します。 - 補間方法:
cv2.resize
やplt.imshow
では、interpolation
引数で補間方法を指定できます。 - 座標系: OpenCVとPillowでは座標系の原点が異なる場合があります。
補足: 上記のコードは基本的な例です。より高度な画像処理を行う場合は、それぞれのライブラリのドキュメントを参照してください。
ご自身の環境に合わせて、ライブラリをインストールし、コードを実行してみてください。
Bash
# OpenCVのインストール (pipを使う場合)
pip install opencv-python
# Pillowのインストール
pip install Pillow
# Matplotlibのインストール
pip install matplotlib
何か質問があれば、お気軽にご質問ください。
0 件のコメント:
コメントを投稿