画像はnumpyの3次元のndarray(配列)で定義されていて、画像サイズの取得には、numpy.ndarrayの属性を使ってあげればOK。
C++だと、cv::Matにはwidthやheightが定義されていたので、最初は戸惑うかもしれません。
例えば、横340px, 縦255pxの画像の場合は以下の通り。
>>> import cv2 >>> img = cv2.imread('画像のパス') >>> img.shape (255, 340, 3)ちなみに最後の3は、BGRの3次元のこと。
頻繁に利用するならばこうしておけばとりあえず良いと思う。
>>> height, width = img.shape[:2] >>> height 255 >>> width 340
紛らわしいのが size で、これは配列の要素数を表す。
>>> img.size 260100260100 = 255 * 340 * 3 ということ。
ちなみに、配列の各要素のデータ型は、0~255までの符号なし8bit整数。
>>> img.dtype dtype('uint8')
0 件のコメント:
コメントを投稿