Pythonの学習の過程とか

学習の記録をつけておきましょう。Python3に少しずつ移行していきます。過去の記事のソースを2から3に、、、と考えましたが、新しいことをやったほうがいいですね。

Python OpenCVの基礎 Numpyのメソッドをもう少し確認してみる

Numpyのメソッドを確認してみましょう

前回のエントリーでは、読み込んだ画像の任意の画素値を取得したり、画素値を書き換えたりするのに、Numpyのメソッドであるitem()やitemset()を使いました。

peaceandhilightandpython.hatenablog.com

imread()で読み込んだ画像に対して、いろいろと情報を得ることができます。

今回も参考はこちら

https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

とりあえずコードを書いてみました

Test Numpy Method

結果

ndim is 3

shape is (131, 200, 3)

size is 78600

dtype is uint8

ndim

the number of axes (dimensions) of the array

色の数ですね。BGRなので3です。

shape

For a matrix with n rows and m columns, shape will be (n,m). The length of the shape tuple is therefore the rank, or number of dimensions, ndim.

難しいことはなくて、画像の高さrowsと幅columnsと色の数を表示してくれます。 ここでは高さ131、幅200、色3の画像を読み込んだことが分かります。

size

the total number of elements of the array. This is equal to the product of the elements of shape.

画像の配列の大きさですかね。131 x 200 x 3 で、78600になります。

dtype

an object describing the type of the elements in the array.

画素それぞれをどのような型で持っているかということです。ここではuint8であることが分かりましたね。

使えそうですね

画像を読み込んだら、型を調べることができます。また、幅高を先に調査することができるので、範囲を超えてアクセスするようなよくあるエラーを防ぐこともできそうです。

今回はここまで

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理