画像キャプチャー方法                         vega   2004.7
                                              2004.12
                                       

 CCDを使用したフーコーテスターで画像を取りこむ方法を紹介します。
 画像をパソコンで取りこんで、測定ソフトを自作したい場合に参考になるかもしれません。

 これは掲示板で「わたなべさん」が紹介されたものと、vegaが調べた方法が混じっています。

 Dはmuseさん紹介(お勧め)のVFW対応のボード(I・O DATAのGV-VCP/PCI)です。(当方は持っていません)
 製造中止品ですが、ネットオークションで相場は、1000円程度です。
 スピード(フレーム数/sec)は、あまり速くないはずですが、qcamよりたぶん速いでしょう。
 http://www.iodata.jp/lib/product/g/241.htm
 VFW(古い規格)又はWDM(現行の規格)で使用できます。

 Eはわたなべさん紹介のビデオキャプチャーボードです。ピッコロはここ。 
  高速(フレーム数/sec)です。

 GのVideocap.ocxは、PACCOさん作成のソフトです。安価に購入できます(開発者は購入が必要)。
 又このソフトを使用してライブカメラを作成しているmuseさんのサイトが非常に参考になります。
 これもVFW(古い規格)以外ではWDM(現行の規格)で使用できます。(WDM:Microsoft WDM Image Capture )
  WDMの使用例としてQcam Pro 4000 (QV-4000)を天体用ライブカメラ(meseさんソフトListCam20を使用)での
 使用例があります。(茂木さん
 画像サイズが大きい(640x480)のですが、museさんの掲示板では画質の評価が良くありませんでした。
 評価の誤りだと嬉しいのですが....。 画質が良ければ、高精度フーコーテスターになるかも。

 

(1) A -> G -> I 

   私が作成したフーコーテスターのルートです。 測定ソフトはVBで作成しています。
   
(2) @ -> G -> I 

   @と同列です。 最近は、VFWをラップしたものをしてWDMと呼んでいます。
   このカメラとして
   ToUcam(わたなべさんがqcamftで動作を確認)
   ロジクールのQV-4000(茂木さんが天体用ライブカメラで使用(listcam))
   
ロジクールのQV-700N(きたかるさんが使用)
   
ロジクールのQV-3000
   がこあります。 

(3) C -> F -> I 
   このルートを使用し測定できた事をemaillで受け取りました。
   使用カメラ : アイオーデータのUSB-CCDCHAT
   実験したい方はここ。 
   特徴は、画面に表示さえされていれば、何でもOKだということです。
   bitbltは画像用メモリからコピーするAPIで、VC++やVBで使用できます。

(4) B -> E -> I 
   わたなべさんのフーコーテスターがこの方式らしいです。
   ボードに画像を取り込むソフト(デバイスドライバー)が付属しています。

(5) B -> D-> G -> I 
   museさん紹介の方法です。
   感度の良いビデオカメラをお持ちの方は、GV-VCP/PCIを安価に購入できれば、ローコストで
   高性能フーコーテスターが作成できるかもしれません。
 
(6)  J -> K-> L  (わたなべさん紹介)  2004.8.20
   ToUCamの画像DirectXのDirectShowを使用してVCで直接取りこむ方法です。
   
レスポンス的には結構速い(ほぼリアルタイム)らしいのです。
   (わたなべさんの新テスター)



Videocap.ocx の使用例

 わたなべさん紹介のテストプログラムです(VB)。(平成13年4月24日の友田さんの掲示板への書き込み)
 クリップボード経由で画像を取りこみ輝度グラフを描いています。
 私は、これをもとに測定ソフトを作りました。

   Private Sub Command1_Click()
     VideoCap1.DlgVideoFormat
   End Sub

   Private Sub Form_Load()
     VideoCap1.Preview = True
     Form2.Show
   End Sub

   Private Sub Timer1_Timer()
     VideoCap1.EditCopy                                @
     Form2.Picture = Clipboard.GetData()                      A
     Form1.Line (0, 0)-(320, 280), RGB(0, 0, 0), BF                   
     For x = 0 To 320
       col = Form2.Point(x, 120) And &HFF
       If x = 0 Then
        co = col
       Else
         Form1.Line (x - 1, 280 - co)-(x, 280 - col), RGB(255, 0, 0)      B
         co = col
       End If
     Next x
   End Sub



  vega注

   VideoCap1. が付いている部分が ocx による操作です。 難しい部分を全部やってくれます。

   @ プレビューしている映像をWindowsクリップボードへ保存する
   A クリップボードから、画像エリアに画像をコピーする
   B 画像の輝度グラフを描く

 

                            TOPに戻る