UEPIのブログ

機械エンジニアの私生活から仕事のことまで徒然なるままに

OpenCVでカラー画像をグレーに変換!プログラミング挑戦してみた画像処理編(python)

UEPiです!

 

今回はpythonopencvという画像・動画処理ライブラリを使用して、カラーの画像をグレーに変換してみたいと思います!

前回の勉強はこちら


自動で画像収集!?プログラミング始めてみた4(python) - UEPIのブログ

 

 

OpenCVとは

OpenCV(正式名称:Open Source Computer Vision Library)は、コンピューターで画像や動画を処理するために必要な、さまざまな機能が実装されています。

 OpenCVを使うと、主に以下のような機能が利用できます。

 ・フィルター処理

 ・行列演算

 ・オブジェクト追跡

 ・領域分割

 ・カメラキャリブレーション

 ・特異点抽出

 ・物体認識

 ・機械学習

 ・GUI(ウィンドウ表示、画像ファイル、動画ファイルの入出力、カメラキャプチャ)

参考URL:https://www.buildinsider.net/small/opencv/001

 

OpenCVのインストール

以前anacondaをインストールしました。

インストールの記事はこちら


超初心者必見!プログラミング挑戦してみた3(pythonの環境構築) - UEPIのブログ

 

なので今回はanaconda promptからインストールしたいと思います。

pip install opencv-python

入力すればインストール完了です。

私がインストールした時点ではver.4.1ですね。

 

f:id:UEPI:20190501222401p:plain

カラーをグレーに変換する

まずは、参考となるコードを探しにググるググる

ありました。

https://algorithm.joho.info/programming/python/opencv-grayscale/

いや、ホント最近すごいですね。無料で色んなコードが勉強できるんで。

てかこんな少ない行で処理できるのね。

OpenCV様すげぇ

f:id:UEPI:20190501222208p:plain

参考コード

実際にやってみる

早速書き書きコピペコピペ。(ほぼコピペ)

作業ディレクトリ内には直接画像を置きたくなかったため、作業ディレクトリ内にinputフォルダとoutputフォルダを事前に作成し、inputフォルダの中に処理したい画像を保存しました。

f:id:UEPI:20190501223233p:plain

コード

グレー変換

おお!できておる!すげぇ。

めっちゃ簡単にできますね。

f:id:UEPI:20190501230657p:plain

変換前後

 あと、こういった画像を大量にグレースケールにしたい場合もあるかもしれませんね!ということで、ほぼコピペはダサいので、多少手を加えました。

 

複数の画像を一度にグレー変換する

例えば2のカラー画像のファイル名をそれぞれinput0.jpg、input1.jpgにしてフォルダに保存します。この2つの画像を一度にグレー変換する場合、下記の様にfor文で構成することで一度の処理で複数の画像を処理できるようになります。

すこしだけですがプログラミングっぽくなりますね!笑

処理が完了したらFinish!と表示するようにもしておきました!

f:id:UEPI:20190501234223p:plain

コード(複数の画像を処理)

 

ってことで今回のお勉強はこんな感じで終了です。

OpenCVを使って他にもいろんなことにチャレンジしてみたいと思います!

 

最後まで読んでいただきありがとうございました!

 

いいね👍