プログラム

最近大学で実験で1つ、仮配属の研究室で1つのプログラムを作ってる。
実験の方はメインじゃないのでいいんだけど、仮配属の研究室の方がヤバイ。
今やってるのはCCDカメラから得られた画像から目標の2点を見つけ出し、
その2点の角度を求めるというもの。将来的にはモアレを使用した
nmレベルでの高精度フォーカスを目標に頑張っていたけど
半年経っても全然完成せずorz
使用しているのはVisualC++。最初から先輩が作ったソフトウェアを流用しているので
画像関係の関数は簡単に扱える。
最初は2点を見つけるための方法として二値化したあとでポイントを見つけ出す方法や
一定の範囲内での最小二乗法から求める方法、怪しい部分だけを取り出してその部分だけ
詳細に調査する方法など色んなやり方を考えた。でもどれもうまいこと行かない。
もうすぐ発表ということなので、考えた中で最も簡単で精度の悪い(笑)プログラムで
行くことにした。これは計算量が上の例の1/100以下で、ぶっちゃけPC98でもフルレートで
撮影しながら計測出来るんじゃないか?というくらい軽いプログラムだけど、
誤差は多分0.1度くらい出てしまう実際の実験では使えない代物。(要するに適当って事
早速搭載してみて動かしてみると2点の座標の確保に成功!そこからatanを用いて
角度を出そうと思ったら…
math.h入ってないorz
コレがないと三角関数とかπとか使えない。どうやらバージョンを上げないと使えないらしい。
atanを使用せずに角度を求めようとしたがうまくいかず、金曜日の授業中に導入予定。
もっと楽にプログラムが作りたい…