2016年11月14日 更新

OpenCVでライフサイエンスを加速する!

OpenCVはそもそもはコンピュータービジョン向けのライブラリです。それゆえ、顔認識や文字認識、カメラキャリブレーションなど、いわゆるロボットや自動運転車などの工学系の応用を主に想定して開発されていますが、ライフサイエンスの分野でもOpenCVは非常に役に立つツールです。

508 view お気に入り 0
こんにちは!望月優輝です。

ライフサイエンス向けの画像処理、画像解析ソフトウェアとしてimageJはよく知られていると思います。imageJはマウスでの操作が主で、初心者にも使いやすいツールになっています。また、数多くのプラグインが存在し、imageJにデフォルトでバイオ向けのプラグインを組み込んだFIJIというパッケージも存在します。

Fiji is just ImageJ

Fiji is just ImageJ
Fiji is an image processing package—a "batteries-included" distribution of ImageJ, bundling a lot of plugins which facilitate scientific image analysis.
ImageJはマウスでの操作が主で、初心者にも直感的に使いやすいツールになっています。例えば、根の画像について言うと、根を手動でなぞって、その長さを表示するといったプログラムはImageJのグラフィカルユーザーインターフェース(GUI)の得意とするところです。
ですが、imageJが苦手とするものもあり、複雑な計算はあまり向いていません。というのも、imageJに元々備わっていない計算を行うにはマクロやプラグインを自前で書かないといけないからです。
ImageJにもマクロやバッチ処理など自動処理を行うことができる機能がありますが、画像などから抽出したデータをさらに加工して、グラフに出力するなどの処理は、より拡張性の高いOpenCVを用いたプログラムのほうが簡単に書けます。また、C++を用いたOpenCVプログラムが高速であるのも全自動解析に適しています。特に高解像度の動画をImageJで解析するのには限界があります。
そこで、OpenCVを使ってみませんか?というのが私の提案です!
OpenCVはそもそもはコンピュータービジョン向けのライブラリです。それゆえ、顔認識や文字認識、カメラキャリブレーションなど、いわゆるロボットや自動運転車などの工学系の応用を主に想定して開発されています。しかし、その他の分野、例えばライフサイエンスの分野でもOpenCVは非常に役に立つツールであると私は考えています。
カメラキャリブレーション

カメラキャリブレーション

例えば、オプティカルフローは、移動物体の検出や移動の解析に用いられる画像解析手法です。imageJにも実装はされていますが、OpenCVでプログラムを書くことも当然可能です。また、OpenCVでは移動を解析した後に、さらに独自の統計量を計算するなど、自由に拡張することができる点で大きくImageJに勝っています。
移動方向に応じたオプティカルフローの可視化

移動方向に応じたオプティカルフローの可視化

OpenCVとImageJ、どちらかが完全というわけではありません。適材適所に使い分けできるのがベストです。では、実際の研究などではどちらを使うべきでしょうか。もちろん、どちらか一方のスキルのみが高いのであれば、慣れた方を使うのが良いとは思いますが、どちらも同じくらいに使えるのであれば、それぞれ得意、不得意があるので、より適した方を選ぶべきです。
OpenCVのインストールはLinuxであれば20行ほどのコマンドで完了します。

OpenCVをUbuntuにインストール | OpenCV画像解析入門

OpenCVをUbuntuにインストール | OpenCV画像解析入門
最後にOpenCVでどのようなことができるのか、一例を紹介して終わります。
24 件

関連する記事 こんな記事も人気です♪

画像の再構成理論〜概要、まとめ〜

画像の再構成理論〜概要、まとめ〜

今回は、以前4回にわたって記事として投稿した画像の再構成理論の概要について述べ、それのまとめをしたいと思います。
画像処理におけるフーリエ変換④〜pythonによるフィルタ設計〜

画像処理におけるフーリエ変換④〜pythonによるフィルタ設計〜

画像処理におけるフーリエ変換の最終回として、pythonによるフィルタ設定についてご紹介します。
pythonで学ぶOpenCV① 〜インストール、サンプルの実行〜

pythonで学ぶOpenCV① 〜インストール、サンプルの実行〜

pythonで学ぶOpenCVの第一回目についてご紹介します。
【Python講座6】Pythonで画像処理

【Python講座6】Pythonで画像処理

これまで勉強してきたPythonのスキルをベースに、画像処理についてやっていきたいと思います!
YoutubeでImageJ チュートリアル1 - インストール・セットアップ・プラグイン

YoutubeでImageJ チュートリアル1 - インストール・セットアップ・プラグイン

Fiji(ImageJにあらかじめ様々なプラグインがインストールされているもの)のインストールの仕方。新しいプラグインのインストールの方法を動画として紹介します。
北村 旭 | 52 view

この記事のキーワード

この記事のキュレーター

望月 優輝 望月 優輝