ユーザ用ツール

サイト用ツール


初めてのopencv3

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
初めてのopencv3 [2017/10/24] – [Image.sizeとnp.array.shape] adash333初めてのopencv3 [2018/10/07] (現在) – 外部編集 127.0.0.1
行 57: 行 57:
  
 # img2をcat2.jpgという名前で保存する # img2をcat2.jpgという名前で保存する
 +img2.save(‘cat2.jpg’)
  
 </code> </code>
  
 +cv2(OpenCV)の場合\\
 +cv2.imreadで画像を読み込む。このとき画像はBGRになっている。\\
 +OpenCVで読み込んだ画像のタイプはnumpy arrayになっているため、画像の縦横を調べるときは、Numpyのshapeメソッドを用いる。
 +
 +<code>
 +%matplotlib inline
 +import cv2
 +import matplotlib.pyplot as plt
 +
 +img = cv2.imread(‘cat.jpg’)
 +
 +print(img.shape)
 +
 +# OpenCVの画像はデフォルトだとBGR画像であるため、
 +# matplotlib(こちらはRGB画像)で正しく表示するためには色変換が必要
 +# 具体的には、cv2.cvtColor()関数を用いる
 +cvimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 +plt.imshow(cvimg)
 +</code>
  
 Numpyのnp.array.shapeは、行列の行(height:縦に並んだ要素の個数)と列(width:横に並んだ要素の個数)を返します。 Numpyのnp.array.shapeは、行列の行(height:縦に並んだ要素の個数)と列(width:横に並んだ要素の個数)を返します。
 +
 +<code>
 +import numpy as np
 +a = np.arange(60).reshape(10, 6)
 +# 配列の形
 +a.shape
 +
 +# 要素数
 +a.size
 +
 +# 行数、列数の取り出し
 +# 画像をNumpy配列に変換したときは、以下を
 +# height, width = a.shape
 +# と書くことがある
 +nrow, ncol = a.shape
 +print(nrow)
 +print(ncol)
 +</code>
 +
  
  
行 68: 行 106:
 sizeとshapeで、widthとheightの順番が逆になりますので、注意が必要です。 sizeとshapeで、widthとheightの順番が逆になりますので、注意が必要です。
 </wrap> </wrap>
 +
 +PILとNumpyの組み合わせ\\
 +以下は、NumPy配列の扱いとなります。
 +<code>
 +from PIL import Image
 +import numpy as np
 +
 +# グレースケール画像にしてからNumpy配列に変換
 +im  = np.array(Image.open('img.jpg').convert('L'))
 +print(im.shape)
 +print(im.dtype)
 +print(im)
 +
 +# カラー画像のままNumpy配列に変換
 +im  = np.array(Image.open('img.jpg'))
 +print(im.shape)
 +print(im.dtype)
 +print(im)
 +
 +
 +</code>
 +
 +
 +Chainer用の画像処理メモ(4)pythonでの画像の操作 "from PIL import Image"\\
 +http://twosquirrel.mints.ne.jp/?p=20135
 +
 +
 +Chainer用の画像処理メモ(5)初めてのNumPy"import numpy as np"\\
 +http://twosquirrel.mints.ne.jp/?p=20153
 +
 +[OpenCV Python]画像の幅、高さ、チャンネル数、depth取得
 +atinfinity edited this page on 27 Jul 2016\\
 +https://github.com/atinfinity/lab/wiki/%5BOpenCV-Python%5D画像の幅、高さ、チャンネル数、depth取得
 +
 +
 +
 +
 +PythonとOpenCVで画像処理②【ウィンドウ、画像のサイズ変更】
 +\\
 +http://rasp.hateblo.jp/entry/2016/01/22/230852
 +
 +Python – NumPyで画像を配列として取得する\\
 +https://endoyuta.com/2015/09/27/python-numpyで画像を配列として取得する/
  
  

初めてのopencv3.1508811147.txt.gz · 最終更新: 2018/10/07 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki