皆さんこんにちは
お元気ですか。私は修論という壁に殺されそうでございます。
最近は画像日和なので、今日は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で入れてください。
気が向いたら具体的な画像処理方法とか書いていこうと思います