のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Scikit-Imageのインストールと画像表示

Sponsored Links

皆さんこんにちは
お元気ですか。私は修論という壁に殺されそうでございます。

最近は画像日和なので、今日はScikit-Imageを使ってみましょう。

Scikit-Imageとは

画像処理に関するアルゴリズムを集めたライブラリです。
無料で扱うことができて、ボランティアによる作成だそうな。(Homepage Topより)

特徴量抽出とかでHogやLBPなどを取得することができます。うん、なんか便利
因みに類似ライブラリにはOpencvがありますが、ただ特徴量を取りたいときとかはこちらのほうが便利な気がしそうです。(僕は殆どOpencvを使うので、このライブラリは使ったことがない)

インストール

Pipを使う

毎度おなじみpip先生

sudo pip install scikit-image

トラブルシューティング

因みに以下のようなエラーが出る可能性があります(私は出ました)

>>> from skimage import data, color
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/skimage/__init__.py", line 63, in <module>
    from skimage._shared.utils import deprecated as _deprecated
  File "/Library/Python/2.7/site-packages/skimage/_shared/utils.py", line 6, in <module>
    import six
ImportError: No module named six

そのような時はpipでsixをインストールしてください。

sudo pip install six

sixはPython2と3における記述変更を埋めるためのライブラリです。

実際のテスト

公式ホームページのGetting Startより、Numpyのarrayでもいいそうです。

from skimage import data, io, filter

image = data.coins() # or any NumPy array!
edges = filter.sobel(image)
print image.dtype
io.imshow(edges)
io.show()

実際に画像のデータ型を見ると以下のような感じになっています。
因みにNumpy.arrayなので、numpyで使える関数は全て実行可能です。

uint8

表示は以下の通りです。
表示形式を見た感じだとmatplotlibを使った表示がされているので、matplotlibがなくてエラーが出ている人はpipで入れてください。

f:id:tereka:20141127104323p:plain

気が向いたら具体的な画像処理方法とか書いていこうと思います