IC Imaging Control (Python)

  • サンプルプログラムトップページ
  • デバイスのオープンとハンドリング
    • デバイスを開く
    • ダイアログボックスを使用してデバイスを開く
    • デバイスプロパティ設定の保存と復元
    • プロパティの設定方法
    • 接続しているカメラ一覧を表示
    • ROIの設定方法
    • オートフォーカスで焦点を調整する範囲を指定
    • デバイスロストの検出と再接続方法
  • イメージの取得
    • 8bit静止画保存
    • 16bit静止画保存
    • Enterキーを押下したときに画像保存
    • メモリーレコーディング
    • AVIファイル保存
  • 画像処理
    • コールバック関数の設定方法(OpenCVで二値化)
    • OpenCVで画像処理して表示する方法
    • ソフトウェアトリガー・外部トリガーの使用方法
    • ステレオカメラで表示
    • 2つのカメラで取得した画像の輝度値を平均してバーに表示する
  • IC Imaging Control3.5(pythonnet編)
    • Qtを使ったデモアプリ(pythonnet編)
    • カメラで取得した画像の輝度値を平均してバーに表示する
      (pythonnet編)
    • 動画保存(MediaStreamSink コーデック:H.264)
    • 露光時間・ゲインを設定し、静止画保存をする(pythonnet編)
  • リンク集

    ICImagingControl WEB APIリファレンスマニュアル/サンプルプログラム

    :日本語対応済み :日本語化準備中
    開発言語 APIリファレンスマニュアル サンプルプログラム
    C 4.0
    ()
    - - 4.0
    ()
    - -
    C++ 4.0
    ()
    3.5
    ()
    3.4
    ()
    4.0
    ()
    3.5 3.4
    ()
    C#/VB.NET 4.0
    ()
    3.5
    ()
    3.4
    ()
    4.0
    ()
    3.5
    ()
    3.4
    ()
    Python 4.0
    ()
    3.5 3.4
    ()
    4.0
    ()
    3.5 3.4
    ()

接続しているカメラ一覧を表示

概要

PCに接続しているカメラをコマンドラインで表示し、接続しているカメラすべてをライブ表示する方法について説明します。

サンプルプログラム

サンプル(Python) list_devices_python.zip

サンプルの実行結果

コード全体

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)

#接続しているデバイスの数を取得する
devicecount = ic.IC_GetDeviceCount()
grabbers = []

#接続しているデバイス数ループを回す
for i in range(0, devicecount):
    #デバイスの型番を表示する
    print("Device {}".format(tis.D(ic.IC_GetDevice(i))))
    #デバイス情報 + シリアルナンバーを取得
    uniquename = tis.D(ic.IC_GetUniqueNamefromList(i))
    print("Unique Name : {}".format(uniquename))


    ##新しいグラバーハンドルを作成します。
    g = ic.IC_CreateGrabber()

    #デバイスを開きます。
    ic.IC_OpenDevByUniqueName(g, tis.T(uniquename))
    grabbers.append(g)

for grabber in grabbers:
    #デバイスが有効か確認
    if(ic.IC_IsDevValid(grabber)):
        #ライブスタート開始 引数:0の時非表示、引数:1の時表示
        ic.IC_StartLive(grabber, 1)

ic.IC_MsgBox(tis.T("すべてのライブストリーミング停止します。"), tis.T("Live Video"))


for grabber in grabbers:
    #デバイスが有効か確認
    if(ic.IC_IsDevValid(grabber)):
        #ライブストリーミング停止
        ic.IC_StopLive(grabber)

for grabber in grabbers:
    #デバイスが有効か確認
    if(ic.IC_IsDevValid(grabber)):
        #グラバーハンドルを解放
        ic.IC_ReleaseGrabber(grabber)

解説

PCに接続しているIC_GetDeviceCountにてカウントすることができます。
デバイス取得方法は下記の2種類があります。

IC_GetDevice 製品型番のみ
IC_GetUniqueNamefromList 製品型番+シリアル番号

同じ製品型番で複数台のカメラを同時にする場合にはIC_GetUniqueNamefromListで指定する必要があります。

IC_OpenVideoCaptureDevice 製品型番のみでデバイスを開く
IC_OpenDevByUniqueName 製品型番+シリアル番号でデバイスを開く
▲ このページの先頭に戻る

Copyright © ARGO Corporation. All Rights Reserved.