#はじめに
最近Pythonが何かと話題になっています。PythonではOpenCVと呼ばれるライブラリを使うことで、簡単な画像処理ができます。本記事では、OpenCVで画像を読み込んで、色々処理する方法を解説します。
#環境
MacOS Mojave
Python 3.7.6
#下準備
opencvとmatplotlibと呼ばれるライブラリをインストールします。matplotlibはグラフを書くためのライブラリで画像の表示などでも使用できます。以下のコマンドをそれぞれターミナルに打ち込んで、実行してください。
$pip install opencv-python
$pip install matplotlib
"opencv"だけではインストールできないので注意してください。Requirement already satisfiedと表示されて入れば、既にインストールされているので、問題ありません。
#画像を読み込んでみよう
今回は以下の猫 (neko.jpg) の画像を使用します。
以下のコードを実行します。
#ライブラリの読み込み
import cv2
import matplotlib.pyplot as plt
#neko.jpgを読み込んで、imgオブジェクトに入れる
img = cv2.imread("neko.jpg")
#imgオブジェクトをmatlotlibを用いて表示する
plt.imshow(img)
plt.show()
最初のimportの部分でopencv (cv2) とmatplotlibのpyplot (matplotlib.pyplot) を読み込んでいます。as pltというのはmatplotlib.pylotを長いから、pltに省略してこれから使いますよーていう意味です。
以上のコードを実行して、以下のような画面が出てくれば成功です。
ただ、猫ちゃんが変な色になってしまいましたね? これはopencvではGBR (緑・青・赤) 、matplotlibではRGB (赤・緑・青) と色の表現方法が異なることが原因で起こります。なので、元の色で表現する為には、色の変換が必要です。
#色の変換方法
画像を読み込んだ後に、cv2.cvtColor()を使います。
#ライブラリの読み込み
import cv2
import matplotlib.pyplot as plt
#neko.jpgを読み込んで、imgオブジェクトに入れる
img = cv2.imread("neko.jpg")
#画像の色の順序をBGRからRGBに変換する
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#imgオブジェクトをmatlotlibを用いて表示する
plt.imshow(img)
plt.show()
以上のコードを実行すると、以下の画面が出力されます。
もとの画像が表示されましたね!
次回は簡単な画像処理を行って保存する方法を解説します。
##トラブルシューティング
python: can't open file 'opencv_read_img.py': [Errno 2] No such file or directory
これは、ファイルがないよというエラーです。この場合は以下の手順を行ってください。
②ターミナルでpythonファイルが置いてあるフォルダに移動する。
もしディスクトップのqiita_pythonというフォルダの中にpythonファイルと画像が入ってるとしたら以下のコマンドを実行してください。
$cd /Users/ユーザー名/Desktop/qiita_python
$python opencv_read_img.py
#Twitterやってます
もしよろしければフォローお願いします!
https://twitter.com/ryuji33722052