[BMP_measure]

初出:2003/2/ 4 T.Shirai
更新:2004/4/23 T.Shirai

2023年:最新版はこちら

 画像計測用ソフトウェアです.2D/3D計測装置(例えば応用計測研究所製 QuickMAGなど)を購入する予算は無いが,非接触で対象物の挙動を計測したいという研究者向けソフトウェア.簡単に説明すると,デジタルビデオカメラ等から取り込んだBMP画像上のマーカーを画面上でクリックすると,その座標がテキストファイルに記録されます(BMP_measure).テキストファイルを連結させてExcelで解析したり,あるいはスティック画像をBMP画像として再構築(stick_viewer)したりします.

Ver.1.1(最新版) : 2004/4/23
   (1) BMP,EMF,WMFに加えて,JPEG,GIF,PNG,PSD,TIFにも対応
    (2) 読み込んだ画像のサイズに合わせてウィンドウのサイズを自動調整するようにしました.
    (3) VECTORに登録しました.
  VECTORに登録したものと同一
   (BMP_measure + Stick_viewer : BMP_measure11.LZH: 1.8MB):実行形式+ソースリスト(WMGRAPH + VC++6用)

Ver.1.0 (旧版)
実行形式    (BMP_measure1.0.lzh : 147KB)
ソースリスト (BMP_measure_src1.0.lzh :88KB) : WMGRAPH + VC++6用


では,実際に使ってみましょう.

(1) 動画(AVIなど)から静止画(BMP)ファイルを作成
 たとえば,AviUtil (http://ruriruri.zone.ne.jp/aviutl/) などを使用して,AVIファイルから連番のBMPファイルを作成します.

 HL_MOVIE.JPG - 16,818BYTES 

       

 HL_RENBAN.JPG - 39,996BYTES

(2) 連番BMPファイルを整理
 サンプル(↑)の動画からは71コマのBMPファイルが生成されます.一度に大量のファイルを処理すると,(コンピュータはともかく我々が)混乱しますので,適当な数ごとに分類します.

MANUAL1.JPG

(3) BMP_measureの設定

 BMP_measureを展開したフォルダにあるBM.iniファイルをダブルクリックして開いて下さい.

MANUAL2.JPG - 30,897BYTES

作業内容に合わせて各設定を変更して下さい.変更内容については同封している仕様書を参照下さい.一番重要なのは,MEASURE_POINT です.今回のサンプルデータでは,画面上の4箇所のマーカ(肩,腰,膝,足首)の座標を計測しますので,MEASURE_POINTは4です.

(4) 計測

 では,計測開始です.BMPファイルをデスクトップ上に置いたBMP_measureのショートカットの上にDrag&Dropして下さい.

MANUAL3.JPG - 69,711BYTES

すると画面上に,いま選択した画像ファイルとテキスト表示のウィンドウが開きます.
(開かない場合があります.本ソフトウェアは長いファイル名に対応していません.データファイルのフォルダを短い名前のフォルダに移動して下さい.例えば,C:\DATA,のように.)

MANUAL4.JPG - 63,433BYTES

画像上のマーカにマウスカーソルを合わせて左クリックすると,計測されたポイントにBULLETマーク(○に十字)が表示されます.
間違えてしまった場合は慌てずに! 右クリックを押すとキャンセルされます(とても親切).
(クリックする順番は重要です.同じ順番でこれ以降の画像データも計測して下さい)

所定の個数のマークを計測し終えると,以下のようにキー入力を求めてきます.

MANUAL5.JPG - 43,612BYTES

エンターキーを押して下さい.計測されたデータがテキストファイルに記録されます.

MANUAL6.JPG - 78,095BYTES

 1画像ファイルに対して1テキストファイルが生成されます.生成されるテキストファイルは,画像ファイルの拡張子をTXT(設定ファイル:BM.iniで変更可能)に変えた名前になります.
さぁ,BM_measure.exeは自動的にウィンドウを閉じて終了してくれますので,次から次へとBMPファイルをDrag&Dropして計測を続けて下さい.一度,試して見るとお分かりになると思いますが,「極めて楽チン」なのです.71コマを各コマ4点を計測して,約10分程度です.
 300コマのデータを計測するのに一晩掛けていたあなた(わたし),もう貧乏な研究者生活を嘆く必要はありません.

APPENDIX.計測されたテキストファイルをどうすれば良い?

 さて,順調に計測を行ってハッと気付くと71個のテキストファイルが出来上がっています.これ,連結する必要があることに気付くでしょう.Excelで読み込んで解析を行うにしろ,stick_viewerでスティックピクチャを描画させるにしろ,なんとかして一つのファイルにつなげなくてはなりません.

 案1)テキストエディタを開いて,一行ずつ挿入していく.
  不可能ではありませんが,あまりエレガントな方法ではないですね.せっかくスピーディに計測できても,これではダメです.

 案2)なんらかのプログラムを作成する.
  うん,いい方向性です.科学者たるもの前向きに生きるべきです.

 私の場合には,awkを使用してバッチファイルを作ります.そう,コマンドプロンプト(MS-DOS)を使います.UNIXを使っている方ならばシェルスクリプトでも良いですね.
 たとえば,
  BEGIN {
    printf("DEL data.txt\n");
    for (i = 0; i <= 70; i++) printf("type HL_%02d.txt >> data.txt\n", i);
  }
 こんなawkスクリプトはどうでしょう. jgawk -f make_bat.awk > make_bat.bat そして実行.
 このようにして作成したサンプルデータがこれです.

 data.txt をExcelに読み込むなり,stick_viewerに読み込むなり,自由に楽しんで下さい.


BMP_measure仕様書

 BMPなどの画像データ上の任意の点をマウスでクリックし,そのX,Y座標をファイルに記録する計測用ソフト.
 コンセプトは「いかに短時間で安全確実に大量の画像計測を終らせて家に帰るか」.

Ver.1.1 2003/2/ 4 :  BMP,EMF,WMFに加えて,JPEG,GIF,PNG,PSD,TIFにも対応
Ver.1.0 2001/8/27 : オリジナル

          鈴鹿工業高等専門学校 機械工学科 助手 白井達也 ( shirai@mech.suzuka-ct.ac.jp )

・ドラッグ&ドロップで使用する.
・入力データファイルはBMP形式のみ,出力データファイルはTAB区切りのCSVファイル.
・出力データファイル名は入力データファイル名の拡張子BMPをTXTに変えた名前になる.
・(空白を含む)長いファイル名には対応していません.
 適当なディレクトリ(C:\usrなど)にデータをコピーして使用して下さい.

[初期設定]
 以下の設定内容をBMP_measure.exeと同じディレクトリにあるBM.iniから読み込む.
 したがって,初期設定内容を変更したい場合は,BMP.iniファイルを編集すれば良い.

  (1) BMP画面の左上位置の座標 (WINDOW_X / WINDOW_Y)
  (2) 一画面中のデータ点数 (MEASURE_POINT)
  (3) データファイル拡張子 (EXT_NAME)
  (4) データ書式 (DATA_FORMAT)
  (5) BULLET表示(十字記号)の有無 (BULLfET): 0で非表示,それ以外で表示
  (6) BULLETカラー: 0=BLACK, 1=WHITE, -1=AUTO
  (7) 上書き警告の有無 (OVERWRITE_CHECK)

[インストール]
 アーカイブを適当なフォルダに展開します.BMP_measure.exeのショートカットを作成し,それを例えばデスクトップ等に配置します.
 レジストリ等は一切使用しておりませんので,アンインストールするには,インストールしたフォルダごと削除するだけでOKです.

[使い方]
 計測したいBMPファイルをアイコン(ショートカットを推奨)にドラッグ&ドロップする.
 マウスで左クリックすると,そのx,y座標が記憶される.画面中で右クリックすると一つ前の状態に戻る(とてもエクセレント!).
 すべての計測点を計測し終わるとキー入力待ちになるので,[Enter]キーを押すと,データをテキストファイルに書き出して終了する.
 同じ名前のデータファイルを計測した場合,前のデータファイルに上書きする.
 (初期設定ファイルにより上書き/確認を設定可能)

[プログラムに関する権利]
  このプログラムは,静岡県立大学の福田 宏氏によって開発・公開されているWMGRAPHを利用して作成しました.
  (http://kilin.u-shizuoka-ken.ac.jp/softs/softs.htm)
 したがって,ソースファイルを元にしてコンパイルするには,WMGRAPHおよびVisual C++4.0以上のコンパイラが必要です.
 このプログラムの製作者は,鈴鹿工業高等専門学校の白井達也である.
 ただし,白井達也は,このプログラムのバグ,仕様に基づく一切の不利益に関する責任は負わない.
 このプログラムの再配布および改造を妨げることは禁じる.
 このプログラムおよび改造したプログラムを使用する際の金銭の徴収を禁じる.
 このプログラムあるいは改造したプログラムを再配布する際には,この文書を必ずプログラムに添付すること.

[変更履歴]
  Ver.1.1 2003/2/ 4
   (1) BMP,EMF,WMFに加えて,JPEG,GIF,PNG,PSD,TIFにも対応
      (WM_GRAPH自体は以前から対応していました.私の要らぬお節介でエラーとしていただけでした)
    (2) 読み込んだ画像のサイズに合わせてウィンドウのサイズを自動調整するようにしました.
      (単に私が手を抜いていただけです)


<戻る>