2014年7月11日金曜日

Centaring Camera(芯だしカメラ)の製作 (その4)



光軸ずれ補正プログラムの使い方と開発




本題に入る前に少し遊んでみました。
千円札の野口英世の瞳です。



この瞳の中心にセンタリングすることも可能?です。
拡大鏡としても使えるなぁー。
(使用カメラはELECOM UCAM-DLK130Tです。)

【重要】お札に加工をしてはいけません!



さて本題です。

Ⅰ.ソフトの使用方法(CentaringCamの使用例をYouTubeの動画で説明)


 ソフトの使用例として、YouTube に上の写真の動画

をアップしましたのでご覧になってください。1分46秒ほどです。

 2本の罫書き線に接するΦ4.0のエンドミルによる穴加工をするためのセンタリング作業です。(青竹を使わずに直接罫書き線を引いているので線が見にくくて申し訳ありません。)

動画の後にフライス盤のテーブルをX 、Y方向にそれぞれ2.0mmずつ動かしてΦ4.0のエンドミルで穴加工して終了です。
加工後の結果は下の写真でご覧ください。



  この程度の精度で芯だしできます。
  (見やすいように青竹を薄く塗ってみました。)



Ⅱ.使用言語に関して
プログラムはPythonで組みました。

pythonを選んだ理由は

1. GoogleやNASAなどでも使われているそうで興味があった。
2. つくったプログラムを自由に配布できる。
3. LinuxでもMacでもうごく。
    (Macでうごくかどうかは試していないので確証はありません)

などです。

 ExcelのVBAの解説本のようなメソッドの使用例解説型の書籍があると助かるのですがそのような本は見つかりませんでした。

役立ちそうな書籍を2冊を購入してみましたが、基本的(非常に重要)なことは参考になりましたが、今回のプログラムを組むうえで必要としたもろもろの情報はあまり得られませんでした。

pythonそのもの自体にguiやレイヤーやカメラ関係のモジュールが十分用意されていないから仕方ないのでしょう。

そのため、もっぱらインターネットが頼りとなりました。
何か使えそうな情報はないかとインターネットで検索し、私の希望に合いそうな情報を見つけると関連する情報を調べ、実際に組み込んで動きをチェックするということを繰り返しながら少しずつ組上げていきました。

その結果、pygameやwxPythonそしてNumpyやOpenCvなどをインポートし、モジュールを使わせてもらうことになりました。

今回はじめてpythonでプログラムを組みましたが

  1. インタプリタ言語であった(コンパイルもできる)
  2. PyScripterというGUI Editorがとても使いやすかった
の2点が、試行しやすくしてくれたと思います。

※PyScripterはお勧めです。(作者は日本人だそうです)


 上の写真はpyscripterの画面です。Webカメラからcaputureする部分です。

エラー処理ができなかったので、カメラが認識されないとプログラムが起動できません。

OSがカメラをデバイスとして認識しているのにプログラムが起動しない場合(カメラを複数台接続している場合などに起こるようです)は、上の写真の真ん中辺にある

capture = cv.CreateCameraCapture(int(0))

のint(0)をカメラごとにint(1)、int(2)などに変える必要があります。


【コンパイル】
 残念なことにCenteringCamはコンパイルを通りませんでした。コンパイル不成功です。



Ⅲ.Webカメラの選定
 
 使用するWebカメラには注意が必要です。

1.USBビデオクラス対応のWebカメラがよい

USBビデオクラス非対応の場合は固有のドライバーを必要としますので、Linuxではうまく動かない場合があると思います。

2.レンズが手動で繰り出しできるカメラがよい

自動焦点カメラだと工作物に十分近づけられないかも知れません。自動焦点カメラは使ったことがないのでこれ以上のことは言えません。

 カメラを数ミリメートルまで近づけると下のの写真(千円札の瞳)程度に拡大できます。

千円札の野口英世の左眼です。気に入っているのでもう一度載せています。



Ⅳ.OS(プラットフォーム)の選定について
 フライス盤などのような油にまみれる環境で使うには、古いパソコンが気兼ねなく使えて相応しいと思います。

 OSにLinuxを選定すれば、10年以上前に購入したパソコンでもCentaringCamは快適に動きます。
 KnoppixはUSBにインストールしておくと起動も動作も速く、ハードディスクを使わないので気楽に試せます。

 ※Knoppixでしか試していませんが、他のディストリビューションでも同様に動くと思います。
 



次回は、プログラムのインストールについて書こうと思います。



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Centaring Camera(芯だしカメラ)の製作 (その4)

光軸ずれ補正プログラムの使い方と開発 本題に入る前に少し遊んでみました。 千円札の野口英世の瞳です。 この瞳の中心にセンタリングすることも可能?です。 拡大鏡としても使えるなぁー。 (使用カメラはELECOM UCAM-DLK130T...