Pythonを使用し画像の幅と高さを取得する

Pythonを使用し画像の幅と高さを取得してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■画像を用意する

Pythonを使用し画像の幅と高さを取得する前に、取得するための画像を用意します。

今回は花の画像(sample_flower.jpg)を用意しました。この画像は著作権フリーのものを使用しています。

画像が保存されている場所は「C:\Users\user\test(フォルダパス)」になります。

■PIL(Pillow)を使用し、画像の高さと幅を取得する

画像の用意ができましたので、PIL(Pillow)を使用し、画像の高さと幅を取得するスクリプトを書いていきます。なお、PIL(Pillow)モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。PIL(Pillow)モジュールは、「jpeg」、「png」、「ppm」、「tiff」、「bmp」、「gif」など、さまざまな形式の画像に対応しています。

■コード

from PIL import Image

filepath = r"C:\Users\user\test\sample_flower.jpg"
img = Image.open(filepath)

width = img.width
height = img.height

print("画像の高さは ",height)
print("画像の幅は ",width)

インポートでPIL(Pillow)モジュールを呼び出します。filepathという変数を作成し、その中に今回用意した画像を指定し格納します。

格納後、imgという変数を作成し、image.open()で今回用意した画像を開き格納します。

格納後、widthという変数を作成し、img.widthで用意した画像の幅を取得し、格納します。

さらにheightという変数を作成し、img.heightで用意した画像の高さを取得し、格納します。

最後にprint関数で変数に格納した画像の幅と高さを出力します。

■実行

このスクリプトを「Image_height_width.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意した画像の高さが「640」で、幅が「480」であることが確認できました。

■PIL(Pillow)の.sizeプロパティを使用し画像の高さと幅を取得する

では、次にPIL(Pillow)の.sizeプロパティを使用することでも、画像の高さと幅を取得することができますので、やってみます。

■コード

from PIL import Image

filepath = r"C:\Users\user\test\sample_flower.jpg"
img = Image.open(filepath)

width,height = img.size

print("画像の高さは ",height)
print("画像の幅は ",width)

先ほどのスクリプトをさほど変わりませんが、widthとheight変数を作成し、その中にimg.sizeで画像のサイズを取得し格納します。

格納した後に、それぞれの変数に格納した画像の幅と高さを出力します。

■実行

このスクリプトを「Image_height_width_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意した画像の高さと幅が出力されることが確認できました。

■OpenCVを使用し、画像の高さと幅を取得する

では、次にOpenCVを使用し、画像の高さと幅を取得するスクリプトを書いていきます。OpenCVモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■コード

import cv2

filepath = r"C:\Users\user\test\sample_flower.jpg"
image = cv2.imread(filepath)

height, width = image.shape[:2]

print("画像の高さは ", height)
print("画像の幅は ", width)

インポートでOpenCVモジュールを呼び出します。filepathという変数を作成し、その中に今回用意した画像を指定し、格納します。

格納後、imageという変数を作成し、その中にcv2.imread()で、今回用意した画像を読み込み、格納します。

その後にheightとwidthという変数を作成し、その中にimage.shapeで画像のサイズを取得するために「:2」とし格納します。

最後にprint関数でheightとwidthの変数に格納した画像のサイズを出力します。

■実行

このスクリプトを「Image_height_width_3.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意した画像の高さと幅が出力されることが確認できました。

コメント

タイトルとURLをコピーしました