はじめに
画像の縦横サイズを取得する方法について解説します。
PythonのOpenCVでは画像はNumPyのndarray配列のデータ形式になっています。このため画像の高さ,幅,チャンネル数はNumPyの機能を利用して取得することができます。
画像のサイズとチャンネル数
ndarrayの変数shape
によって画像の高さと幅、チャンネル数を取得できます。shape
の戻り値は高さ,幅,チャンネル数(カラー画像の場合)のtupleです。
カラー画像の場合
import cv2 # 画像を読み込む image = cv2.imread('duck.jpg') # 画像のサイズを取得(height:高さ, width:幅, channel:チャンネル数) height, width, channel = image.shape[:3]
画像の合計画素数
合計画素数はndarrayの変数sizeで調べることができます。
shapeの戻り値は高さ,幅,チャンネル数(カラー画像の場合)のtupleです。
import cv2 # 画像を読み込む image = cv2.imread('images/duck.jpg') # 画像の合計画素数を取得 pixels = image.size
画像のデータ型
画像のデータ型はdtype
で調べることができます。
データ型の不一致などでエラーが発生することがありますので、データ型の確認方法を覚えておくと便利です。
import cv2 # 画像を読み込む image = cv2.imread('duck.jpg') # 画像のデータ型を取得 data_type = image.dtype
最後までご覧いただきありがとうございました。
■(広告)OpenCVの参考書としてどうぞ!■
リンク
リンク
参考リンク
OpenCV: Drawing Functions
NumPy: numpy.zeros