OpenCVを使って画像の読み込み、表示、保存する方法をご紹介します。
目次
[OpenCV]画像の読み込み/表示/保存する方法
環境
まず、これから説明するコードに対応している実行環境は次の通り。
- Jupyter Notebook
- Google Colaboratory
※上記以外の環境でも、基本的にPytonが使える環境であればコードはそのまま使えます。
コード
読み込み
import cv2 # 画像の読み込み img = cv2.imread('test.jpg')
読み込みはすごく簡単でimread()関数の引数に画像のファイル名を指定するだけで一発で読み込めます。
ファイル名はこのコードを実行している直下にない場合は、Pathも合わせて指定する必要があります。
尚、読み込んだ画像はnumpy.ndarray形式で読み込まれます。
※numpy.ndarray形式:画像そのものでは無く、数値化された配列で保存
表示
import cv2 import matplotlib.pyplot as plt # 画像の読み込み img = cv2.imread('test.jpg') # カラーデータの色空間の変換 plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 画像の表示 plt.show()
読み込みのコードに赤字の行を追加して下さい。
そうすることで、画像の読み込みから表示まで、一気に行うことが出来ます。
表示はmatplotlibを使って表示しています。
5行目にcvtColor()関数で何やら不思議な処理をしていますがこれは、カラーデータの色空間をBGRをRGBに変換する処理をしています。
これは、OpenCVではカラーデータの色空間を(青、緑、赤)で扱っていますが、matplotlibでは(赤、緑、青)で扱うので、色が変な色で出力されないように変換する必要があるのです。
保存
import cv2 # 画像の読み込み img = cv2.imread('test.jpg') #画像の書き込み cv2.imwrite('test2.jpg',img)
画像の書き込みもとても簡単です。
読み込んだり、拡大/縮小/切り取りなどを行った画像を、imwrite()関数で書き込みだけです。
第一引数は保存したいファイル名、第二引数には見込んだ画像を指定すればOKです。
エラー
このコードを実行した時によく出るエラと対処方法をご紹介します。
ModuleNotFoundError: No module named ‘cv2’
OpenCVのモジュールが無いと怒られています。
OpenCVをインストールして下さい。
Google Colaboratoryではインストール不要ですぐに利用できました。
Anconda(Windows版)ではインストールされていないので、インストールが必要です。
【OpenCV】インストール方法(Anaconda Windows10版)
OpenCVのインストール方法をご紹介します。 今回はAnacondaのWindows10版へのインストール方法です。 他のサイトで紹介されているような、モジュールを手動でダウンロー...
まとめ
OpenCVを使って画像の読み込み、表示、保存する方法をご紹介しました。
最後に、上記のサンプルコードを実行しても画像が表示されないという人の為に、対処方法の解説ページを作りましたので、もしお困りの方は参考にしてみて下さい。
【OpenCV】matplotlib show()で画像が表示されない場合の対処方法
OpenCVで画像処理を行った場合、matplotlibを使って編集した画像を表示て確認したいと思う事が多いと思います。 しかし、多く環境で画像が表示されないという問題に遭遇...