2017/09/13 参考リンク追加
2017/07/25 微修正
pythonで画像処理
いつも画像処理のプログラムはProcessingで組んでいたのですが、諸事情によりpythonで画像処理をやってみることにしました。まずは環境設定とテストをしたのでその記録です。最終的にはRaspberry Piで動かしたいのですが、プログラムはMacで組みたいので同じプログラムが動く環境をRaspberry PiとMac両方で構築しています。WindowsでもAnaconda等を使えば同じような環境を構築できると思います。以下のサイトが参考になるかもしれません(私はWindows機もっていないので未確認です)。
機械学習のためのPython入門 | キカガク技術ブログ「一日一遊」 | キカガク技術ブログ「一日一遊」
画像処理のライブラリには、OpenCVとPILを使用する前提です。
Macでの環境構築
pyenvを使用したインストール
pyenvを使用してセットアップしています。下記記事を参照して、image-processing
という仮想環境を生成して移行するところまで実施下さい。
動作確認
ターミナルから、以下コマンドでpythonのインタラクティブモードに入ります
$ python
以下2つのコマンドを実行してエラーが出なければOpenCVとPILは正しくインストールされています
>>> import PIL >>> import cv2
Raspberry Piでの設定
初期セットアップ
下記記事を参考にセットアップしてください。
Open CVとPILインストール
以下のコマンドでインストールできます。2行目のコマンドがPILのインストールで、3,4行目のコマンドがOpenCVのインストール。OpenCVのインストールはそれなりに時間かかります(30分程度)。
セットアップしたタイミングによっては、既にインストール済みのパッケージもあるかもしれません。
$ sudo apt-get update $ sudo apt-get install python-imaging $ sudo apt-get install libopencv-dev $ sudo apt-get install python-opencv
インストール確認
Macのときと同じです。
以下さらにプログラムが続くので興味のある方だけ続きをごらんください。
画像処理プログラムテスト
適当なサンプルでテストしてみましょう。プログラムの中身と、動作方法・動作結果はMac, Raspberry Pi両方とも基本同じです。
PILを使ったサンプル
サンプルプログラム
以下のプログラムを「pil.py」で保存。
#!/usr/bin/env python # coding: utf-8 from PIL import Image import ImageFilter img = Image.open("input.jpg") output = img.filter(ImageFilter.CONTOUR) output.save("output.jpg")
プログラムと同じフォルダに、加工したい画像ファイルを「input.jpg」という名前で配置してから、以下のコマンド実行。
$ python pil.py
OpenCVをつかったサンプル
以下のプログラムを「cv.py」で保存。
#!/usr/bin/env python # coding: utf-8 import cv2 img = cv2.imread("input.jpg") img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imwrite("output.jpg", img_gray)
PIL同様、プログラムと同じフォルダに、加工したい画像ファイルを「input.jpg」という名前で配置してから、以下のコマンド実行。
$ python cv.py
実行結果
使用前
使用後
まとめ
画像処理するだけなら、pythonでもそこまで難しく無くできそうですね。OpenCVはもちろんのこと、PILも手軽に色々できそうですし。pythonの他の豊富なライブラリとも連携できるのはよさそうです。例えば人工知能の分野はpythonでプログラムすることが多いので、将来的に画像処理に人工知能を使いたい人はよいかもしれません(そんな人が何人いるのかわかりませんが)。
今後ももうちょっと色々弄っていきたいと思います。
追記(2016/05/04)
GitHubでpythonの画像処理ソフトを公開しています。
参考リンク
参考にしたサイトとか、これから参考にする予定のサイトとか
Mosaic Browsing: [セットアップ]Mac PortでPILのインストール
Python Imagin Library installing error - Raspberry Pi Forums
MacにPython Imaging Library (PIL)をインストールする - はてブロ@ama_ch
Raspberry Pi B+にOpenCV-Python環境を構築する - Qiita