HOME > natural science Laboratory > ロボティクス講座 > LabVIEW TIPS集

Visionによる二値化、差分をとるプログラム

文責:八重樫 和之 (2009年1月21日) カテゴリ:LabVIEW TIPS集(47)

動画を二値化し差分を取り粒子数を表示させるプログラム

流れとしては以下のようなものです。

  • 1,aviファイルを読み込む
  • 2,フレームごとに表示
  • 3,グレースケール化
  • 4,二値化
  • 5,フレーム数の差分を取る(動いてる粒子だけ見る)
  • 6,穴などのごみを取ってきれいにする
  • 7,毎ループごとに粒子数をカウントする
  • 8,ファイルに書き込む

図の数字と対応しながらそれぞれの役目を説明します。

  • ①動画ファイルの読み込みを行っています(LabVIEW上でヘルプ→サンプルを検索→「avi」などで検索しコピーすると楽です)
  • ②名称「IMAQ AVI READ FRAME」フレーム数を指定すると画像ファイルを返してくれます。whielループに入れてフレーム数を増やせば動画になってくれます。
  • ③名称「IMAQ Extract Single Color Plane」RGBに対して強度(Intensity)について0~255に変換、つまりグレースケール化してます。
  • ④名称「IMAQ threshold」閾値を入力し二値化しています。
  • 以上の②~④の操作を25フレームずらしてもう一つ作っておきます。
  • ⑤名称「IMAQ subtract」二つの二値化した画像を読み込み差分を返します
  • ⑥ごみ取りを行ってます。穴を埋めるなどです。
  • ⑦名称「IMAQ Particle Analysis Report」粒子数や粒子サイズ、重心座標などのデータを返します。ここでは粒子数を用います。
  • ⑧結果をループ毎に書き出します

yagashi_vision090121.gif

yaegashi_vision2_090121.gif

8bit_difference.vi(78.9KB)



▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました