- ダウンロード
- The Imaging Source ダウンロードサイト(Linux版)
- ユーザーガイド:Gstreamerとtcam-ctrlでTISカメラを制御する
Gstreamerとtcam-ctrlでTISカメラを制御する
1. 設定可能なカメラパラメータを把握する
tcam-ctrl -l
tcam-ctrl -c <serial>
tcam-ctrl -p <serial>
2. ライブ画像を表示する
gst-launch-1.0 tcammainsrc tcam-properties=tcam,GainAuto=false ! video/x-bayer,width=640,height=480,framerate=30/1 ! bayer2rgb ! videoconvert ! xvimagesink
解 説gstreamerで画像を確認します。gst-launch-1.0で、tcamsrcで①シリアルNOを指定し、②gainOff、③解像度、④フレームレート 調整をします。
上記で動作しない場合には下記のコマンドで動くか確認してください。
3. tcam-ctrlでカメラのプロパティを設定する
tcam-ctrl --load-json <serial> '{GainAuto:off,"Gain":0.7,"ExposureAuto":"off","ExposureTime":100}'
解 説露光時間やゲインを固定で設定します。gst-launch-1.0でライブ画像を確認しながらtcam-ctrlで設定したい場合は、gst-launch-1.0を起動している端末とは別の端末を立ち上げればできます。付属のビューワーソフトtcam-caputreでも下記の通り設定値を確認することができます。tcam-captureを起動するにはコマンドラインにて「tcam-capture」を入力してください。
補 足設定不可能な数値を入力してもカメラに反映されませんので、下記のコマンドで設定内容が反映されているか確認してください。
tcam-ctrl --save-json <serial>
4. トリガーモードで定期的に撮影する
tcam-ctrl --load <serial> TriggerMode:On
解 説Trigger ModeをTrueにするとカメラからの画像出力が止まります。上の2行目のコマンドでカメラから1枚だけ画像を出力させることができます(=ソフトウェアトリガー)。もしくは、カメラの背面の端子に5VTTL信号を入力したタイミングでカメラは1枚だけ画像を出力します(=外部/ハードウェアトリガー)。
補 足カメラからのライブストリームがPCの負荷になる場合や、外部機器と撮影の同期を取りたい場合はトリガーモードをうまく活用してください。
tcam-ctrl --load <serial> TriggerMode:On
for((;;));do tcam-ctrl --load <serial> "TriggerSoftware"=true; sleep 2;done
解 説定期的にSoftware Triggerを発効させたい場合は上記のようにターミナルに入力します。この例では2秒おきに tcam-ctrl --load "TriggerSoftware"=trueを実行しています。
5. トリガーモードで撮影した画像を保存する
gst-launch-1.0 tcamsrc <serial> ! video/x-bayer,width=640,height=480,framerate=30/1 ! bayer2rgb ! jpegenc ! multifilesink location=/home/output%d.jpeg
解 説設定したフレームレートで撮影し、指定のフォルダーにjpegを保存します。(※userはログインしているユーザ名のフォルダーです。)上記のコマンドは保存画像やライブ画像は表示されません。
6. トリガーモードで撮影した画像を画面表示する
gst-launch-1.0 tcamsrc <serial> ! video/x-bayer,width=640,height=480,framerate=30/1 ! bayer2rgb ! tee name=t ! queue ! jpegenc ! multifilesink location=/home/user/output%d.jpeg t. ! queue ! videoconvert ! xvimagesink
解 説画像を画面に表示しながら静止画保存するには、bayer2rgbはvideo/x-bayerをvideo/x-rawに変換し、video/x-rawを二手に分岐させて、片方はjpegencに、もう片方をvideoconvert ! xvimagesinkに引き渡す必要があります。分岐するにはteeを使います。Teeで分岐させてqueueで受けています。
7. トリガー撮影画像表示のサイズを調整する
gst-launch-1.0 tcamsrc <serial> ! video/x-bayer,width=640,height=480,framerate=30/1 ! bayer2rgb ! tee name=t ! queue ! jpegenc ! multifilesink location=/home/user/output%d.jpeg t. ! queue ! videoconvert ! videoscale ! video/x-raw,width=1024,height=768 ! xvimagesink
解 説表示される画面のサイズを調整するには、videoconvert ! xvimagesinkの間に、「videoscale ! video/x-raw,width=1024,height=768 !」を入れます。widthやheightを任意に調整してください。
- ダウンロード
- The Imaging Source ダウンロードサイト(Linux版)
- ユーザーガイド:Gstreamerとtcam-ctrlでTISカメラを制御する
解 説PCに接続されているTISカメラのデバイスの①シリアルNO、gstreamer-1.0で設定できる、②カラーフォーマット、③解像度、④フレームレートを把握します。-pではtcam-ctrlで設定可能なminからmaxや現在の設定値を確認できます。
出力例