Pythonチュートリアルをやってみる 特別編
今日は少し特別編。大学の研究で画像解析をやることになった。
今までOpenCVをRubyで実行しようとしていたのだが、汎用性が低いことと、ちょうどPython始めたし、そのままPythonで行うことにした。
とりあえず、Pythonは入ってるから、OpenCV入れなきゃと思ったのですが、かなり手こずったので残しておきます。
前回のエントリは下記リンクよりお願いします。
OpenCVとは?
画像処理とは、特定の効果(例えば、グレースケール画像)をもたらすために画像を加工したり、操作したりすることです。また、コンピュータを使って、画像から情報を取り出したりすること(画像内にある円を数えるといったようなこと)も、画像処理です。
この記事では、画像処理をnumpyによって実行するOpenCVを紹介します。numpyはpythonの演算ライブラリです。
つまり画像処理を行うためのライブラリのことです。今回はそのライブラリをPythonで動かそうというわけです。
ちなみにPythonのNumpyというライブラリを使用して動かします。先にNumpyをインストールしておきましょう。
OpenCVの環境構築
今回は下記を参考に構築しました。
Python3であり、かつOpenCV3を使用します。Python2だと別の方法になります。
大まかな流れを説明すると
この2つ目がかなり曲者でした。
HomebrewからOpenCV3をインストール
$ brew install opencv3 --with-python3 --without-python --with-contrib
without-python必須です。またHomebrewが入ってることが前提です。
だいたい5~10分ほどでインストールし終わると思います。
PYTHONPATHを設定
$ cd /usr/local/opt/opencv3/lib/python3.6/site-packages/
$ mv cv2.cpython-36m-darwin.so cv2.so
$ cd ~
$ echo /usr/local/opt/opencv3/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth
上記コマンドを実行してください。上記を実行しないとopencvをimportできません。モジュールとして認識してくれないんですね。
OpenCVを動かしてみる
実際にOpenCVをうごかしてみます。
OpenCVは色々できるのですが、今回は簡単な画像生成を行います。
適当にテキストエディタから下記のコードを書き込んでください。
gist0863d9bce5f7fc21775099345ae18d88
$python3 ファイル名
上記コマンドでファイルを実行できます。
import cv2
import numpy as np
でモジュールを読み込んでいます。
上記の画像が出てきたら成功です。
色々できるので、随時こちらでも更新していきます。