こんにちは。株式会社リバークレイン システム開発部に所属しているBeach&RiceFieldと申します。
今回はOpenCVをpythonから使用してみたいと思います。

OpenCV(Open Source Computer Vision Library)とは、画像処理に使用できる様々な機能を集めたライブラリです。
画像の拡大縮小や変換などの基本的な機能から、機械学習、拡張現実(AR)、テキスト認識まで行える非常に高機能なライブラリとなっております。

まずは基本的な機能を動かせることを目標に、インストールと簡単なサンプルプログラムの動作までを紹介いたします。

python環境の準備

前回の「WindowsにTensorFlowをインストールする」で紹介した方法を使用して、OpenCV用の環境を作成します。

conda create -n opencv python=3.5 anaconda

必要なパッケージがインストールされるので、終了したら、以下のコマンドで環境を有効にします。

activate opencv

OpenCV3をインストールする

作成した仮想環境に対して、OpenCVをインストールします。以下のコマンドでインストールできます。

conda install -c https://conda.anaconda.org/menpo opencv3

pycharmの設定変更

以上でOpenCVのインストールは終わりですが、pycharmから利用しようとすると、「cv2が見つからない」というエラーが表示されます。

このエラーが表示された場合、「Project Interpreter」の設定を見直す必要があります。
pycharmの設定を以下の通り変更します。
「File」->「Settings」->「Project:(プロジェクト名)」->「Project Interpreter」の設定画面を開きます。

右上のギアマークのボタンをクリックし、「Add Local」を選択。手順の最初で作成した仮想環境を選択します。
(私の環境では「Python 3.5.3 (C:\Users\(ユーザー名)\Anaconda3\envs\opencv\python.exe)」となりました。)

画像反転を試してみる

以上でOpenCVのインストールとIDEの設定まで完了しました。
画像を反転させるプログラムを動かしてみて、動作を確認します。

今回はWebikeのロゴを反転させてみます。



画像を反転させるプログラムは以下の通りです。

#coding: utf-8

import cv2

img = cv2.imread('w_logo_600_450.jpg')
if img is None:
    print('image is none.')
    exit(1)

flipImg = cv2.flip(img, 0)
cv2.imwrite('w_logo_600_450_flip.jpg', flipImg)

上記のプログラムを実行すると、上下反転した画像が得られます。

いかがでしたでしょうか?
OpenCVを使えば、画像に対していろいろな処理を行うことができます。
ユーザーが写真を投稿できるサービスも増えてきたので、このようなライブラリを有効活用すれば
面白いサービスが作れそうですね。

リバークレインでは、システムエンジニアを募集しています。