2D拡散シミュレーション
二次元平面上での物質の拡散をシミュレーションしました。三次元版はこちらにあります。 時間の経過とともにどのように物質濃度の分布が変化するかを計算します。その時に、現在の状態から⊿tだけあとの分布の状態を求めます。差分近似…
二次元平面上での物質の拡散をシミュレーションしました。三次元版はこちらにあります。 時間の経過とともにどのように物質濃度の分布が変化するかを計算します。その時に、現在の状態から⊿tだけあとの分布の状態を求めます。差分近似…
OpenCV 1系と2系以降では画像または行列の保持に使われる型に違いがあります。IplImage型とMat型ですが、これらは互いに変換可能です。 #include "opencv/cv.h" #in…
ISOイメージ OpenCVがプリインストールされるLubuntuイメージを作成しました。こちらで紹介しているインストールの方法を実行したもので、OpenCVを実行できる環境がすぐに構築できます。β版ですので、そのままで…
C++のプログラムは、int main()で始まります。プログラムの最後には「return 0;」を必ず書きます。行の終わりにはセミコロン「;」を書かなくてはなりません。典型的なプログラムは以下のようになりますが、このプ…
CSVとはコンマ区切りのファイル形式です。例えば、下のような形式のデータはCSV形式です。このようなデータが格納されたファイルからデータを数値として読み込む方法を紹介します。 0,914,523 1,915,524 2,…
OpenCVとImageJ、どちらかが完全というわけではありません。適材適所に使い分けできるのがベストです。では、実際の研究などではどちらを使うべきでしょうか。もちろん、どちらか一方のスキルのみが高いのであれば、慣れた方…
楕円は円錐を平面で切ったときにできる図形のうちの1つです。今回は楕円の周の長さCを数値計算によって求めます。長軸2a、単軸2bのx2/a2+y2/b2=1で表される楕円の面積はπabと簡単に計算できますが、楕円の周の長さ…
ルックアップテーブル(LUT)関数を用いることで、Matの全ての要素に一律な基準で値の変更する場合に高速化が期待できます。 #include "opencv/cv.h" #include "…
今回は、マスク画像を自動的に作る方法を紹介します。画像の一部分しか解析に必要ない、除外したいという場合にはマスク画像を用いてこれを実現できます。マスクという言葉の”隠す”という意味の通り、マスク画…
顕微鏡で撮影した画像・動画は、顕微鏡メーカーの定めた独自のフォーマットで保存されます。例えばZEISSの顕微鏡ではCZIフォーマットになります。初めからTIFFなどで保存してしまうのも一つの手段ではありますが、多くの場合…