PIL(Python Image Library)の導入
気がついたら前回のエントリから半年も経っていた・・・。
心を入れ替えてこれからは!一日坊主になりませんように。笑。
ちょいと文字認識のプログラムが必要だったので、その周りのネタ。
以下のリンクを参考にしてます。
ほぼ一緒ですが、OSX環境に最適化した導入メモってとこですね。
で、とりあえず本エントリでは前準備としてPILの導入。
画像を読み込んだり、エッジ抽出程度の簡単な処理程度が出来る・・・らしい。
以下、PIL導入までの道のりです〜☆
1. pipでPIL導入。
2. テストコードで試してみる。以上
はい。超簡単ですね。
でも、数カ所はまったのだけど^ ^;
1. pipでPIL導入。
# pip install pil
pipは偉大ですね〜。こんだけで準備完了。笑。
2. テストコードで試してみる。
とりあえずこのネタもとのコードそのまま試して動けば十分ですね!
import Image import ImageFilter img = Image.open("test.jpg") eimg = img.filter(ImageFilter.FIND_EDGES) reimg = eimg.rotate(45) reimg.show() reimg.save("test_edge.jpg")
こんだけ。
ところが、実行するとこんなエラーががが。
IOError: decoder jpeg not available
以下のリンクによると、libjpegが導入されてないと駄目なんだそうな。
PILでIOError: decoder jpeg not available
ってことで導入を試みる。
# sudo brew install libjpeg
ところが、なんかlibjpegは導入出来てるとか・・・。
なんか以下のリンクによると、いったん両方削除してから再導入しろってなってるので、やってみる。
# sudo brew uninstall libjpeg
# pip uninstall pil
# sudo brew install libjpeg
# pip install pil
はい。これで解決しました。めでたしめでたし。
でも実はこの裏でもう1個引っかかった。
brew installする前にupdateかけたら、こんなエラーが。
error: The following untracked working tree files would be overwritten by merge:
Library/Formula/cmigemo.rb
適当に検索したら、同じこと起きてますね。
brew updateでコケる。The following untracked working tree files would be overwritten by merge:
とりあえずいらないので、削除。
# rm -f /usr/local/Library/Formula/cmigemo.rb
# brew update
ほい。これで解決。したっぽい。
さて、じゃぁテストスクリプトを動かしますかね。
元画像はこちら。
で、画像加工後がこちら。
なんとまぁ楽な時代になりましたねぇ・・・。
以上!
# あ、色々ライブラリ入れたりするんで、
# ちゃんとvirtualenvで環境切った方がいいですよ!