画像処理のライブラリとしては OpenCV が有名だと思いますが、改めて定番のライブラリを調べてみました。
以下の 5 つについて概要を書いていきます。
- OpenCV
- Pillow
- ImageMagick
- cairo
- Graphviz
OpenCV
画像処理に関する最も定番のライブラリです。
C/C++、Java、Python などに対応しています。
OpenCV でできることなどの概要は、以下のスライドが分かりやすいです。
Pillow
Pillow は Python の画像処理ライブラリです。
OpenCV を使うほどでもない簡単な画像処理でよく使われています。
参考: Python の画像処理ライブラリ Pillow(PIL)の使い方 | note.nkmk.me
ImageMagick
ImageMagick は、コマンドラインや各種プログラミング言語で利用可能な画像処理ツールです。
コマンドラインで使えるというのが、ちょっとしたときに便利かもしれないなと思いました。
ただ、ImageMagick について調べると以下のような記事がすぐヒットするので、利用の際はこれらを読んでしっかり考えたほうがよさそうです。
- 米 Yahoo!、メール添付画像流出の脆弱性に対処 「ImageMagick」は引退 - ITmedia エンタープライズ
- さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ
- 「さようなら ImageMagick」の考察 - Qiita
- ImageMagick を使う Web アプリのセキュリティ - 1. 既知の脆弱性、システム情報の漏洩 | MBSD Blog
cairo
cairo はベクトルベースの描画 API です。
様々なプログラミング言語で利用可能です。
入門としては、以下の記事が分かりやすいです。
Graphviz
画像処理とは少し違いますが、グラフの描画と言えば Graphviz です。
DOT 言語で記述されたグラフ構造を描画できます。
その他のライブラリ
その他、以下の記事も参考になります。
- 画像認識でよく使われるライブラリ一覧 - 機械学習 Memo φ(・ω・ )
- 画像処理をサクッと実行できるソフトウェアには何があるの?フリー(無料)ソフトも含めて、サクッとまとめました | 忙しいあなたの代わりに、史上最強の良い本・良い暮らしのご提案
CV と CG の違い
ここまで調べていて CV (Computer Vision) と CG (Computer Graphics) の違いが気になったので、それも調べてみました。
ざっくり言うと、
- CV (Computer Vision) … 画像処理やパターン認識など、画像の操作に関する分野
- CG (Computer Graphics) … コンピュータでグラフィックスを作り出す分野
ということのようです。
参考: Computer Vision and Computer Graphics
画像処理に入門するには
いろいろ調べる中で、画像処理の入門としてはオライリーの『実践 コンピュータビジョン』がとても良さそうでした。
後日購入して読もうと思います。