デバイスを開く
概要
組み込まれたダイアログを使ったデバイスリストの表示と選択したデバイスを開いてライブ表示する方法を示した簡単なサンプルです。
サンプルプログラム
サンプル(Python) | open_device_python.zip |
---|
サンプルツールの出力
サンプル元:01-Live.py
https://github.com/TheImagingSource/IC-Imaging-Control-Samples
コード全体
#########
# 解説1
#########
import ctypes
import tisgrabber as tis
#tisgrabber_x64.dllをインポートする
ic = ctypes.cdll.LoadLibrary("./tisgrabber_x64.dll")
tis.declareFunctions(ic)
#ICImagingControlクラスライブラリを初期化します。
#この関数は、このライブラリの他の関数が呼び出される前に1回だけ呼び出す必要があります。
ic.IC_InitLibrary(0)
#新しいグラバーハンドルを作成します。
hGrabber = ic.IC_CreateGrabber()
#########
# 解説2
#########
#デバイスをオープンします。
ic.IC_OpenVideoCaptureDevice(hGrabber, tis.T("DFK33UX287"))
#########
# 解説3
#########
#デバイスが有効か確認
if(ic.IC_IsDevValid(hGrabber)):
#解像度を指定する
ic.IC_SetVideoFormat(hGrabber, tis.T("RGB32 (640x480)"))
#フレームレートを指定する
ic.IC_SetFrameRate(hGrabber, ctypes.c_float(30.0))
#ライブスタート開始 引数:0の時非表示、引数:1の時非表示
ic.IC_StartLive(hGrabber, 1)
ic.IC_MsgBox(tis.T("Click OK to stop"), tis.T("Simple Live Video"))
ic.IC_StopLive(hGrabber)
else:
ic.IC_MsgBox(tis.T("No device opened"), tis.T("Simple Live Video"))
ic.IC_ReleaseGrabber(hGrabber)
解説
解説1:importで宣言する
#tisgrabber_x64.dllをインポートする
ic = ctypes.cdll.LoadLibrary("./tisgrabber_x64.dll")
tis.declareFunctions(ic)
#ICImagingControlクラスライブラリを初期化します。
#この関数は、このライブラリの他の関数が呼び出される前に1回だけ呼び出す必要があります。
ic.IC_InitLibrary(0)
#新しいグラバーハンドルを作成します。
hGrabber = ic.IC_CreateGrabber()
TISのIC Imaging Controlを使用するために、tisgrabber_x64.dllをインポートし、カメラの映像を取得するためのIC_CreateGrabberでグラバーハンドルを作成します。
解説2:デバイスをオープン
#デバイスをオープンします。
ic.IC_OpenVideoCaptureDevice(hGrabber, tis.T("DFK33UX287"))
デバイスのオープンは上記の通りで型番を指定すればPCに接続している指定のデバイスを開くことができます。
もし、同じデバイスを複数接続しているときにはIC_OpenDevByUniqueNameメソッドを使用ください。
解説3:ライブスタート
#デバイスが有効か確認
if(ic.IC_IsDevValid(hGrabber)):
#解像度を指定する
ic.IC_SetVideoFormat(hGrabber, tis.T("RGB32 (640x480)"))
#フレームレートを指定する
ic.IC_SetFrameRate(hGrabber, ctypes.c_float(30.0))
#ライブスタート開始 引数:0の時非表示、引数:1の時非表示
ic.IC_StartLive(hGrabber, 1)
ic.IC_MsgBox(tis.T("Click OK to stop"), tis.T("Simple Live Video"))
ic.IC_StopLive(hGrabber)
else:
ic.IC_MsgBox(tis.T("No device opened"), tis.T("Simple Live Video"))
カメラの接続に上手くいけば、上記のようにフレームレートや解像度を指定し、IC_StartLiveメソッドでライブ開始すればカメラの画像をPCに取り込むことができます。なお、フレームレートや解像度を指定しなくてもIC_StartLiveメソッドを使用することも可能です。