麻布十番で働くデータ分析者のブログ

グロースハック、プログラミング、データ分析の色々を発信します

Pythonチュートリアルをやってみる 特別編

f:id:nimi0370376:20170711022040p:plain

 

今日は少し特別編。大学の研究で画像解析をやることになった。

今までOpenCVRubyで実行しようとしていたのだが、汎用性が低いことと、ちょうどPython始めたし、そのままPythonで行うことにした。

とりあえず、Pythonは入ってるから、OpenCV入れなきゃと思ったのですが、かなり手こずったので残しておきます。

 

 

前回のエントリは下記リンクよりお願いします。

 

 

nimi0370376.hatenablog.com

 

OpenCVとは?

画像処理とは、特定の効果(例えば、グレースケール画像)をもたらすために画像を加工したり、操作したりすることです。また、コンピュータを使って、画像から情報を取り出したりすること(画像内にある円を数えるといったようなこと)も、画像処理です。

この記事では、画像処理をnumpyによって実行するOpenCVを紹介します。numpyはpythonの演算ライブラリです。

 

 つまり画像処理を行うためのライブラリのことです。今回はそのライブラリをPythonで動かそうというわけです。

 

ちなみにPythonのNumpyというライブラリを使用して動かします。先にNumpyをインストールしておきましょう。

 

 

OpenCVの環境構築

今回は下記を参考に構築しました。

qiita.com

 

Python3であり、かつOpenCV3を使用します。Python2だと別の方法になります。

 

大まかな流れを説明すると

  • Homebrewからopencvをインストー
  • PYTHONPATHを設定

この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

でモジュールを読み込んでいます。

 

f:id:nimi0370376:20170711024140p:plain

上記の画像が出てきたら成功です。

色々できるので、随時こちらでも更新していきます。