需要は年々高まっています。バイオ分野でも研究開発においてスクリーニングを行う場合に定量性を出すために画像解析が用いられることも増えてきています。このような背景がある中、高価な画像処理ソフトでも思い通りの機能がないことが多くあります。そこで私は画像処理プログラムを自分で書いてしまうことをお勧めしています。言っても、全てを初めから書くのは大変です。そこで登場するのが画像処理ライブラリである、OpenCVです。頻繁に使われる処理があらかじめ実装されている便利なライブラリです。このサイトではOpenCVを使った画像処理の方法を解説しつつ、機械学習などの最新技術も紹介していきます。インストールAnacondaを使ったインストール方法です。PythonにおけるOpenCVの環境構築は比較的簡単です。notebookの起動方法から、リストやNumPy配列の基本的な使い方までを示しています。Chainerのインストール機械学習ライブラリ、Chainerは非常に簡単に導入できます。ディープラーニングを含む機械学習プログラムを非常に簡単に書くことのできるライブラリです。機械学習をやるなら、使わない手はありません。画像解析の例セルカウントPythonとOpenCVを用いた細胞数カウントプログラムです。mapを使って近接した粒子も切り分けてカウントすることができます。画像の明るさ、コントラストがバラバラだと、いくらその後の過程に手の込んだプログラムを用いても定量できません。画像の明るさを揃えるためのコードを紹介します。機械学習でカボチャの病気を検出する機械学習アルゴリズムで画像中にカボチャの病気である、うどんこ病に罹った葉があるか否かを判定させることができます。Network(CNN)を用いた実装を紹介しています。C++で画像解析C++における、開発環境の準備、OpenCVの導入VirtualBoxにLinuxをインストールし、OpenCVを導入する方法はこのサイト内で紹介しています。Linuxでの開発は一見すると遠回りのように思えるかもしれませんが、Windowsでの開発は準備が少し面倒ですので、お勧めしていません。Macを持っていれば、Macでの開発も可能です。OpenCVインストール済みLinux誰でもC++でOpenCVがすぐに使えるようにインストール済みのLinuxイメージです。LinuxをUSBから起動するUSBメモリにLinuxをインストールする方法を紹介しています。Windowsを手放すことなくLinuxが使えます。C++の基本OpenCVプログラミングに最低限必要なC++の知識をまとめています。基礎的なOpenCVの関数を紹介しています。粒子のカウントカウント処理は細胞数のカウントなど応用範囲の広い基本的技術です。種子のカウントを例題にしています。長さ、面積などの項目を自動的に測定します。自動化により何千枚もの画像を簡単に解析できるようになるかもしれません。動画を元に移動する物体の座標を自動的に決定し、記録することができれば、速度などさらに高次元の統計量を算出することが可能です。回転パターンマッチで物体の向きの判定パターンマッチングの応用例です。1度ずつ回転し、最もマッチする角度を計算します。緑色のピクセル数をカウント各画素の色情報を元に、緑色を判別して数え上げるプログラムを作成します。空撮動画の解析ドローンなどにより撮影した動画からドローンの位置や速度を逆計算します。最後には動画からの情報を元に航空写真のようなモザイキングマップを復元します。オプティカルフロー可視化OpenCVを用いたオプティカルフローにより、細胞遊走の速度や方向を可視化する方法を解説しています。私が勧めているのは、いきなり大きなプログラムを書くのではなく、小さなプログラムから書き始めるという方法です。動画処理のプログラムであれば、最初に入力の動画を表示するだけのプログラムを作ることから始める、という具合です。実践編ではチュートリアル形式で小さなプログラムから組み立てていく練習をすることができます。このウェブサイトに対するお問い合わせはこちらから。:ピクシーダストテクノロジーズ株式会社で主に画像処理の研究開発をやっています。