The Imaging Source社のICImagingControlは、Windowsの開発環境、VisualStudioにて、同社の産業用カメラやビデオキャプチャデバイスを簡単に制御する為のソフトウェア開発キットです。
こちらはAPIリファレンスマニュアルページのサイトです。ICImagingControlはサンプルソースも多数用意されており、プログラム開発工数を最小化する事ができます。
-
このチャプターでは次の項目に関して説明いたします。
-
システム要件
IC Imaging Control の最低システム要件は以下の通りとなります。
- Windows® 7 以上
- DirectX® 9.0c 以上
- Microsoft® Visual Studio® .NET 2010 以上
- 1つ以上の TheImagingSource社のビデオキャプチャデバイス
-
プロジェクトを作成する
IC Imaging Control を使ったプロジェクトを作成する方法として、最も簡単な方法はプロジェクト・ウィザードを使用する方法です。
次の プロジェクト・ウィザード for Visual Studioプロジェクトウィザード>アプリケーションウィザードをご参照ください。手動でプロジェクトを作成したい場合はこちらをご覧ください。
Visual Studioでスタート -
アプリケーションの配布について
Setup Toolkit
Setup Toolkitを使用する場合、ICImagingControlを正しく実行するために以下2つのコンポーネントを一緒に提供する必要があります。
- TIS.Imaging.ICImagingControl3.5.dll
- Visual C++2017 runtime
TIS.Imaging.ICImagingControl3.5.dllは、以下のフォルダにあります。32bit/64bit どちらかのコンパイルに合わせて使用してください。
マイドキュメント\IC Imaging Control 3.5\redist\dotnet\x86
マイドキュメント\IC Imaging Control 3.5\redist\dotnet\x64Visual C++ 2017 runtime パッケージ
runtimeは Microsoft Visual C++ 2017 Redistributable Packageをインストールすることで提供されます。
このパッケージはMicrosoftのサーバーか、Visual Studio 2017のインストールにより提供されます。runtimeファイルの個別導入
runtimeは、以下のファイルをアプリケーションのあるディレクトリに配置することでも動作します。
- msvcp140.dll
- vccorlib140.dll
- vcruntime140.dll
- vcruntime140_1.dll(x64の場合のみ)
これらのファイルは マイドキュメント\IC Imaging Control 3.5\redist\dotnet\ フォルダの中にあるx86 またはx64どちらかのフォルダにあるファイルをターゲットに応じて使用してください。
開発環境にVisual C++ 2017がインストールされている場合、これらのファイルは以下フォルダにもあります。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x86\Microsoft.VC141.CRT
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT
-
-
最新のIC Imaging Controlに新しく導入された機能、変更点について紹介します。
-
What's New in version 3.5 since version 3.4
IC Imaging Control 3.4 から IC Imaging Control 3.5への変更点について
sinkの追加
低遅延な取得と画像処理タスクの高機能化を簡単に組み込めるよう、いくつかのsink type が追加されました。
FrameNotificationSinkクラスライブラリリファレンス>クラス>FrameNotificationSink ドライバメモリからアプリケーションメモリにコピーされず、ビデ オキャプチャデバイスから直接的に画像を取得する方法を提供します。 FrameSnapSinkクラスライブラリリファレンス>クラス>FrameSnapSink オンデマンドでビデオストリームから複数のフレームを取得するのに使用できるシンクタイプです。バッファハンドリングを行わず、直接コントロールされます。 FrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSink アプリケーションが入力されたすべてのフレームを順番に処理する必要がある場合に使用するのに適したシンクです。 拡張されたクラス
新しく追加されたクラス
クラスとメソッドにいくつかの新しい参照機能が追加されました。
新機能リファレンスWhat's New>What's New in version 3.5 since version 3.4>追加されたクラス
-
-
Visual Basic and Visual C# 用には IC Imaging Controlを使ったアプリケーションを簡単にセットアップできるウィザードがございます。フレームフィルタやフレームフィルタモジュールのセットアップも同様に可能です。
-
アプリケーション ウィザード
ここではウィザードを使用して新しいアプリケーションを作成する方法について説明します。
概 要
アプリケーション ウィザードは多機能な画像アプリケーションの開発に使用されます。利用可能な機能には以下のものが含まれます。
- 画像取り込みデバイスを使用するためのイベントハンドラ
- 画像調整のためのイベントハンドラ
- ライブ映像のスタート、ストップを行うイベントハンドラ
- 前回使用したビデオキャプチャ デバイスの自動リロード
オプションとして以下のような機能も利用できます。
- 画像処理能力の追加
- ライブ画像の代わりに画像処理の結果を表示する
使用手順
まず最初にVisual Studioを起動し、スタートページが表示されたら新しいプロジェクト...をクリックします。それが表示されなかった場合、Visual Studio のメニューから、 ファイル → 新規作成 → プロジェクトと選択してください。
以下のようなダイアログが表示されます。
IC Applicationを選択し、名前の欄に"ImageProcessing"のようなプロジェクト名を入力します。それからOKを押すと、 プロジェクトのパラメータの設定が可能となります。
- Image processing チェックボックス
このボックスにチェックが入っている場合、アプリケーションに画像処理メソッ ドが 追加されます。 デモとして輝度反転の処理を追加します。
- Process image manually / Process images
automatically ラジオボタン
ここでは以下の設定の選択をします。
manually: ユーザーがメニューエントリーをクリックした時のみ画像処理メソッドをフレームに実行する。
automatically: 自動的に全てのフレームに画像処理を行う。 - Display processed image チェックボックス
このボックスにチェックが入っている場合、ライブ映像の代わりに画像処理の結果を表示させます。
設定後のアプリケーション
ここまでの設定が完了しましたらFinishを押して プロジェクトを終了させてください。ウィザードが新しいアプリケーションの作成をはじめ、以下のようなものが完成します。
ワンポイントアドバイスウィザードを使わずツールボックスからIC Imaging Controlコントロールパネル使用する方法について
-
-
-
ICImagingControl3.5のインストール
まず、ICImagingControl3.5(Python, C#, VB.NET)を下記から開発環境と実行環境のPC両方にインストールしてください。
https://www.argocorp.com/software/DL/tis/index.html#tab4 -
Visual Studioにdllを追加
次にVisual StudioでICImagingControl3.5を追加してください。Visual Studioのソリューションエクスプローラーにて「参照」の箇所で右クリックをクリックしてICImagingControl3.5のdll(TIS.Imaging.ICImagingControl35)を追加してください。
C:\Users\【ユーザ名】\Documents\IC Imaging Control 3.5\redist\dotnet\x86\TIS.Imaging.ICImagingControl35.dllTIS.Imaging.ICImagingControl34を削除
次にTIS.Imaging.ICImagingControl34を削除してください。ただし、ICImagingControl3.4と3.5のdllが混在していても問題ありません。
上記でも動作しない場合、exeファイル参照するTIS.Imaging.ICImagingControl35.dllが正しい場所に設置していない可能性があります。上記で設定したdllが下記に存在するかご確認ください。
C:\Users\【ユーザ名】\Documents\IC Imaging Control 3.5\redist\dotnet\x86\TIS.Imaging.ICImagingControl35.dll
-