OpenCVはオープンソースの画像処理・画像解析用のライブラリです。
プログラム本体はC++で書かれていますが、Python、Javaのラッパーが公式に用意されています。また、非公式にはC#のラッパーなども用意されています。
どの言語を用いてOpenCVのプログラムを書いても同じなのですが、Pythonを用いることでシンプルなコードを書くことができ、統計処理や機械学習などの他のPythonライブラリとも連携することが可能になるなど、様々なメリットがあります。ここではPythonを用いたOpenCVの操作の方法を見ていきます。
OpenCV-Pythonのインストール
AnacondaでOpenCVをインストールできます。なお、デフォルトのチャネルからはOpenCV 3までしかインストールできないので、OpenCV 4をインストールする場合は以下のようにconda-forgeからインストールします。
conda install -c conda-forge opencv
※ Anacondaのインストールは「Anacondaによるデータ解析環境の構築」を参照ください。
PythonからOpenCVを呼び出す
OpenCV-Pythonのモジュール名はcv2となり、以下のようにimportすればPythonからOpenCVが扱えるようになります。
import cv2
なお、cv2の「2」はバージョン番号を表しているのではなく、OpenCVにもともとあったC言語のAPI(cvと表されていた)と、現在使われているC++言語のAPI(こちらがcv2)とを区別するためのものです。そのため、OpenCV 2 だけでなく、OpenCV 3 でも OpenCV 4でもcv2と表されます。
OpenCVの基本構造とPython
OpenCVのプログラム本体はC++で記述されており、Pythonはそのラッパーです。そのため、OpenCVのAPIドキュメントは基本的にC++向けに記載されており、OpenCV-Pythonの場合はデータ型をPythonのデータ型に読み替える必要があります。
OpenCV-Pythonにおける具体的なデータ構造については「OpenCV-Pythonにおけるデータ構造」をご覧ください。
まとめ
OpenCVはオープンソースの画像処理・画像解析用のライブラリであり、Python向けのラッパーも用意されていることから、統計処理や機械学習などとの相性も良く様々な分野で用いられています。一方でプログラム本体はC++であり、Pythonで用いる際に知っておくとよい点などもあるので、ここではPythonでOpenCVを扱う方法をまとめていきます。
コメント