賢くなりたい~賢くなりたくない~♪

見たもの聞いたもの何でも発信!!

OpenCVをインストールして画像処理に挑戦【Python】

【スポンサーサイト】

f:id:ooenoohji:20181024055217j:plain
画像処理ライブラリとして有名なOpenCVPython版をインストールして画像処理に挑戦してみようと思います。最近の画像処理(認識や分類は特に)はディープラーニングに押されていますが、よりプリミティブ(原始的)な画像処理を集めたOpenCVにも触れることで、画像処理への理解は深まりますし、ディープラーニングと組み合わせることでオリジナリティのある手法を構築することができると思います。

OpenCVとは?

OpenCVとはオープンソースの画像処理ライブラリです。CVはComputer Visionの略です。とにかく充実したライブラリで、エッジ検出やノイズ除去などの基本的な処理はもちろん、機械学習を用いた顔検出なども簡単に実装することができます。大学の研究室時代から画像処理を研究に従事し、今まで様々な手法を、論文が擦り切れるほど読み込みながら、ゼロから実装してきた自分がこのライブラリの存在を知った時には膝から崩れ落ちました(笑)。今までの苦労は何だったのか・・・
とにかくとても充実していて使いやすい画像処理ライブラリです。

PythonOpenCVをインストール

f:id:ooenoohji:20181024060501p:plain
インストールは本当に簡単で、コマンドプロンプトで以下のコマンドを打つだけ。

pip install opencv-python

※Python3.6でインストールを実行しました、そして成功しました。それ以降のバージョンについては不明です。
私はAnacondaでOpenCV用の仮想環境を作ってインストールしました。Anacondaでの環境構築だったのでデフォルトでNumpyがインストールされていますが、Anaconda等のパッケージを用いない方はNumpyも別途インストールしましょう。

動作確認

インストールが完了したら動作確認してみましょう。インタラクティブモードなどを使って、以下のように「cv2」をインポートしてみてください。

import cv2

これでエラーメッセージが出なければ正常にインストールできている証拠です。

OpenCVの書籍

書籍もたくさん出ています。最近はpython+OpenCVの本も出ているようです。

OpenCVとPythonによる機械学習プログラミング

OpenCVとPythonによる機械学習プログラミング

また、C++になってしまいますが、OpenCVについて詳細に解説されている本がこちら。
詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

さらに、以下の本は初めての方には少々難解なVisual Studioでの設定が書かれています。
実践OpenCV 3 for C++画像映像情報処理

実践OpenCV 3 for C++画像映像情報処理

興味のある方は是非上の書籍も参照してみてください。

まとめ

OpenCVのおかげで画像処理を実装する敷居がだいぶ下がりました、それくらい便利なライブラリです。また、冒頭でも述べましたが、ディープラーニング等の手法と画像処理・機械学習を組み合わせる際に、このOpenCVはとても役に立ちます。例えばオートエンコーダで抽出した特徴量をOpenCVで実装されているSVM(Support Vector Machine)に入力するとか・・・そんなことが簡単に実装できてしまいます。
私自身、これからOpenCVを使っていこうと考えているので、本ブログにてOpenCVを用いた画像処理実装例を載せていけたらと考えています。興味のある方は是非見に来ていただけたらと思います。