OpenCVを使って画像処理を行っていきましょう。
今回紹介する内容は、主に画像の読み込み、画像の表示等を紹介したいと思います。
1.OpenCVとは
OpenCV(Open Source Computer Vision Libarary)とは、インテルが開発したオープンソースのコンピュータビジョン向けのライブラリです。
画像処理・画像処理、機械学習の機能を持つC/C++、Java、Python、MATLAB用ライブラリとして広く知られています。
2.ソースコード
#各種ライブラリのインポート import cv2 #画像の読み込み I1 = cv2.imread("lenna",cv2.IMREAD_GRAYSCALE) #画像の表示 cv2.imshow("lenna",I1) cv2.waitKye(0) cv2.destroyAllWindows() #画像の保存 cv2.imwrite("lenna_Grayscale.png",I1)
3.ソースコードの詳細
#各種ライブラリのインポート import cv2
まずはOpenCVをインポートしましょう。
もしpythonにインストールしていなければ”pip install opencv-python”でインストールしましょう。
#画像の読み込み I1 = cv2.imread("lenna.png",cv2.IMREAD_GRAYSCALE)
画像ファイルを読み込むにはcv2.imread()関数を使用します。
関数の使い方は以下の通りです。
変数 = cv2.imread(”画像ファイル名”,画像の読み込み方法)
画像のファイル名(第一引数):画像ファイルが作業ディレクトリ内にある場合、ファイル名のみを指定する。しかし画像ファイルが作業ディレクトリ内にない場合は相対パスもしくは絶対パスを指定する。
画像の読み込み方法(第二引数):読み込み方法は以下の3つがあります。
・cv2.IMREAD_COLOR :カラー画像として読み込む。画像の透明度は無視される。
・cv2.IMREAD_GRAYSCALE :グレースケール画像として読み込む
・cv2.IMREAD_UNCHANGED :アルファチャンネルも含めた画像として読み込む
ちなみに、今回使用する画像と、読み込み後の画像は以下の2枚です。
#画像の表示 cv2.imshow("lenna",I1) cv2.waitKye(0) cv2.destroyAllWindows()
画像表示を表示するためにはcv2.imshow()関数を使用します。
関数の使い方は以下の通りです。
変数 = cv2.imshow(“ウィンドウ名”,表示したい画像)
以下のように画像を表示させてくれます。
cv2.imshow以下のコードの説明です。
cv2.waitKey():この関数はキーボード入力を処理する関数になります。引数にはミリ秒単位で入力待ち時間を指定できます。今回は引数に0を入力しています。0を入力した場合、何かしらキーを打つまで無制限でプログラム側が待ち続けます。
cv2.destroyAllWindows():現在の全てのウィンドウを閉じる関数です。特定のウィンドウを閉じる場合は、cv2.destroyWindow()関数を使用します。引数に閉じたいウィンドウ名をしてすると閉じることができます。
#画像の保存 cv2.imwrite("lenna_Grayscale.png",I1)
画像の保存はcv2.imwrite()関数を使用します。
使い方は以下の通りです。
変数 = cv2.imwrite(“保存するファイルの名前.拡張子”,保存する画像を指定)
注意することは第一引数の画像ファイル名は、必ず拡張子の指定を忘れず指定してください。
4.おわりに
まずはopencvを使用した画像処理の第一歩を説明しました。
次回は動体検知でも使われるフレーム間差分について説明したいと思います。
コメント