この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
opencvで画像切り抜き [2017/11/28] adash333 [OpenCV3で画像の読み込み] |
opencvで画像切り抜き [2018/10/07] (現在) |
||
---|---|---|---|
ライン 99: | ライン 99: | ||
===== OpenCV3でJupyter Notebook上で画像の表示 ===== | ===== OpenCV3でJupyter Notebook上で画像の表示 ===== | ||
+ | まず、以下のコードをコピペして、Shift + Enterをします。 | ||
+ | |||
+ | <code> | ||
+ | # 画像の可視化 with Matplotlib | ||
+ | # 簡単だが、各モジュールのカラー画像の保存方法に注意(RGBとBGR) | ||
+ | |||
+ | # matplotlibでJupyter Notebook内で画像表示するためのおまじない | ||
+ | # Jupyter Notebook内で、%をつけて特定のコマンドを入力する方法を、マジックコマンドという | ||
+ | %matplotlib inline | ||
+ | |||
+ | import cv2 | ||
+ | import matplotlib.pyplot as plt | ||
+ | |||
+ | img = cv2.imread('Lenna.png') | ||
+ | plt.imshow(img) | ||
+ | # これだと、色が明らかに変な風に表示されてしまう | ||
+ | </code> | ||
+ | |||
+ | 以下のようになりますが、なんか変な色です。 | ||
+ | |||
+ | {{:pasted:20171128-225428.png}} | ||
+ | |||
+ | これは、OpenCVの画像はデフォルトだとBGR画像であるため、matplotlib(こちらはRGB画像)で正しく表示するためには色変換が必要。 | ||
+ | 具体的には、cv2.cvtColor()関数を用います。 | ||
+ | |||
+ | 以下のコードを入力して、Shift + Enter. | ||
+ | |||
+ | <code> | ||
+ | %matplotlib inline | ||
+ | |||
+ | import cv2 | ||
+ | import matplotlib.pyplot as plt | ||
+ | # OpenCVの画像はデフォルトだとBGR画像であるため、 | ||
+ | # matplotlib(こちらはRGB画像)で正しく表示するためには色変換が必要 | ||
+ | # 具体的には、cv2.cvtColor()関数を用いる | ||
+ | |||
+ | cvimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) | ||
+ | plt.imshow(cvimg) | ||
+ | </code> | ||
+ | |||
+ | ちゃんと普通の色合いになりました。 | ||
+ | |||
+ | {{:pasted:20171128-225835.png}} | ||
+ | |||
+ | ===== OpenCV3で画像の保存 ===== | ||
+ | 作成中 | ||
+ | |||
+ | ===== OpenCV3で画像の切り抜き ===== | ||
+ | |||
+ | 以下のコードを入力して、Shift + Enter. | ||
+ | |||
+ | <code> | ||
+ | %matplotlib inline | ||
+ | |||
+ | import cv2 | ||
+ | import matplotlib.pyplot as plt | ||
+ | # OpenCVの画像はデフォルトだとBGR画像であるため、 | ||
+ | # matplotlib(こちらはRGB画像)で正しく表示するためには色変換が必要 | ||
+ | # 具体的には、cv2.cvtColor()関数を用いる | ||
+ | |||
+ | cvimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) | ||
+ | plt.imshow(cvimg) | ||
+ | |||
+ | # 新しい配列に入力画像の一部を代入 | ||
+ | dst = cvimg[0:400, 70:270] | ||
+ | plt.imshow(dst) | ||
+ | </code> | ||
+ | |||
+ | 以下のように、切り抜かれます。 | ||
+ | |||
+ | {{:pasted:20171128-230751.png}} | ||