注意:こちらの記事はcommunity edition含むLabVIEWのソフトウェアをインストールした後の状態を想定しています。(LabVIEWがインストールされていなくてもインストールすることはできますが一部の特定の機能しか使用できません)もしLabVIEWがまだインストールされていない場合には、以下の記事を参考にして頂けると思います。
LabVIEWは計測器との接続が容易で、それら計測器(ハードウェア)を操作するためのプログラムを絵を描く様に構築することができるプログラミング言語です。
LabVIEWだけをインストールした状態でも様々な処理、解析のための関数が付属してくる(LabVIEWのエディションによって異なりますが)のですが、追加のアドオンソフトウェアをインストールすることでさらにできることが増えます。
この記事では、そんなアドオンソフトウェアの中から、画像入力ソフトウェア(Vision Acquisition Softwareと呼ばれ、VASと略します)と画像開発モジュール(Vision Development ModuleなのでVDMと略します)のインストール方法やどのようなことができるかについて紹介していきます。
これらのソフトは私自身も手軽に画像処理や解析などができるソフトウェアとして便利に使っているので、有償アドオンソフトウェアではあるのですが、やれることの幅が広がり、使いやすいソフトだと思います。
そもそも何ができるのか
インストールの方法を紹介する前に、そもそもVAS、VDMで何ができるのかについて簡単に紹介していきます。大きく区分すると
- VAS・・・画像を撮影するためのカメラの操作をLabVIEWでできるようになる
- VDM・・・画像に対し二値化やテンプレートマッチングなどの解析処理が行える
という役割があります。
VASは、ハードウェアに対するドライバソフトウェアのインストールと、そのドライバを通してハードウェアを動かすための関数をLabVIEWで使えるようにしてくれます。ここで言うハードウェアとはカメラのことなんですが、CameraLink、USB、GigEカメラなど接続や使い方の異なるいくつかの種類のカメラに対応しています。
VDMは、既に得られている画像に対し、例えば画像に映っているものの大きさを測る(粒子解析)、特定の対象物の個数を数える(テンプレートマッチング)、はたまた画像中の文字を読み取る光学文字認識(OCR)といった処理をLabVIEWで行えるようになります。VDMで行える処理をまとめると以下のような機能があります。

LabVIEWを使う以上はプログラムを書く必要がある・・・でも難しそう・・・そんな思いを持っている方には、Express VIがオススメです。というかExpress VIが便利です。
これは、「対話式にプログラムを書ける」機能で、ゴリゴリプログラムが書けなくても「この処理をこのパラメタで実装したい」といった内容を選択肢の中から選ぶだけでプログラムが書けるという特徴があります。
実際私個人も特に画像解析のプログラムを書く場合にはまずExpress VI、あるいは後で紹介するVision Assistant(LabVIEWとは独立したソフトウェアで、VDMをインストールすると付属します)で処理を書いて必要に応じて改変するということをします。

画像を扱うピクチャ関数との違いは?
もし既にLabVIEWをいくらか触っている、あるいは私のブログの他の記事を読んだことがある方の中には、「あれ、LabVIEWってそもそも画像を読み込む機能があるよね?画像の編集みたいなことができるピクチャ関数もあるよね?」と思った方がいるかもしれません。
確かに、LabVIEWはVASやVDMをインストールしていなくても、標準の関数として画像を読み込んだり保存したり、画像に対していくらか処理をする関数が備わっています。
ただ、VASがないとカメラの操作はできないですし、VDMはそんな標準関数よりも圧倒的にできることが多く、似たような処理を行うにしても関数の使い方が簡潔だったりします。なので、上で紹介したVDMで行える処理をしたいという場合にはVDMが非常に便利です。
ソフトウェアのインストール
では、VAS、VDMそれぞれのソフトウェアのインストールについて実際の画面とともに紹介していきます。
ただし、冒頭にも書きましたが、VAS、VDMは基本的にはLabVIEWがインストールされていることが前提です。LabVIEW自体は、professional editionのような有償製品版あるいは非商用/学術用ということであれば無償で使えるcommunity editionどちらでも構いません(が、community editionだったとしてもVAS、VDMは有償ソフトウェアです)。
正確にはVDMをLabVIEWがインストールされていなくてもインストールすることでVision Assistantという対話式で画像解析処理を実施できるソフトを使用することができますが、LabVIEWで使用することでより柔軟なプログラムを構築することができます。
以下では、community editionをインストールした後の状態からスタートします。

VASのインストール
まずはインストーラの入手です。これは、「Vision Acquisition Software ダウンロード」などとググるとNational Instruments社のホームページがヒットすると思うので、ここから入手します(入手時にはMy NIというアカウントが必要です)。

インストーラをダウンロードしたら、これを実行します。このとき、もし使用しているPCにインストールされているNIパッケージマネージャが古い場合には、まず新しいNIパッケージマネージャのインストールが始まります(LabVIEWをインストールしている時点でNIパッケージマネージャはインストールされているはずです)。

NIパッケージマネージャの新しいバージョンのインストールが終わったらVAS本体のインストールが始まります。
最初に、いくつかある選択肢でどれをインストールするかを選びます。全部を選んでもいいのですが、
- NI-IMAQ・・・CameraLinkフレームグラバのデバイスを使用する場合のドライバソフト
- NI-IMAQdx・・・USBカメラ、GigEカメラ等、CameraLink以外のデバイス用のドライバソフト
- NI-IMAQ I/O・・・フレームグラバでかつFPGAを扱う様なハードウェア用のドライバソフト
という区分になっています。CameraLink?フレームグラバ?と聞いてピンとこない場合には、「National Instruments社の販売しているカメラ用のPCI/PXIボード」を使用している場合にはIMAQ、使用していない場合にはIMAQdxと考えておけばOKです(CameraLinkは専用のケーブルがあり、USBやGigEのようなLANケーブルを使用しません)。
とはいえ、別に全部インストールしていても特に問題はないので、ここではすべての項目を選んだ状態で次に進みます。

この後、追加のインストール項目を選ぶ画面になります。一つ一つ見て、これはいらない、と判断してもいいのですが、とりあえずそのままの状態で次へ進みます。

ライセンス契約書が表れるので、同意して次へ進みます。

その後、私の場合下の画面が出ました。記載されている通りに、GigE Visionのオプションを外してもいいのですが、外さなくてもいいので、今回の記事ではそのまま次へ進みます。

すると、インストールする項目の確認画面が表れます。特に問題なければそのまま次へ進みます。

ここからインストールが始まります。私の場合、30分もかかっていませんでした。

インストール終了後、ソフトウェアのアクティブ化を求められます。上で書いたようにVASは有償ソフトウェアなので、ずっと使い続けるためにはアクティブ化が必要になります。ソフトウェアのライセンスを購入していない場合には評価版として使用できます。その場合は「ソフトウェアをアクティブ化」の画面の右上の×印を押してウィンドウを消してしまっても問題ありません。
なお、下の画像は、使用しているPCに入っている他のソフトウェアの状態等により表示が異なります。

インストール後、NI License Manager(National Instruments社のソフトウェアのライセンス情報を管理しているソフト。LabVIEWがインストールされているのであれば知らない間にインストールされているはずです)上では下の図のように表示されます。

これは、NI-IMAQdxのライセンスがない、という状態です。実は、NI-IMAQであればライセンスが必要ありません(National Instruments社が販売しているハードウェアを動かすドライバなので、ハードウェア購入時に付属されているイメージ)。あくまでUSBカメラやGigEカメラを使用するにはライセンスが必要、ということになります。
VDMのインストール
次にVDMのインストールについても紹介します。ただ、VASの場合とほとんど流れは同じです。
VASとVDMは片方だけのインストールもできるので、ここではVASがインストールされていない状態からスタートしますが、VASがインストールされていてもやることは同じです。
まずはNational Instruments社のホームページからVision Development Moduleのインストーラをダウンロードします。

ダウンロードしたインストーラを実行します。VASの時同様、新しいNIパッケージマネージャがインストールされていない場合にはまずNIパッケージマネージャのインストールが始まります。
その後、VDM本体のインストールが始まります。インストールする追加項目を選ぶ画面が出てきますが、特に何も変更せずに次へ進みます。

次にライセンス契約書の同意画面が出るので、同意して次へ進みます。

Pythonに関する情報が表示されます。Python 3.6がインストールされている場合にはおそらくこの画面は出ないですが、インストールされていなくてもOpenVINOというものを使用しない限り関係ないのでこのまま次へ進みます。

インストールする項目名が表示されます。何もすることはないのでそのまま次へ進みます。

インストールが始まります。こちらも30分かからないくらいで終わると思います。

インストール後、アクティブ化を求められます。VASの時同様、評価版として使用する場合には「ソフトウェアをアクティブ化」のウィンドウの右上の×印で消しても大丈夫です。もしVDMのライセンスを持っている場合にはアクティブ化を行います。(後からアクティブ化することもできます)

NI License Manager上では以下のように表示されます(評価版の場合。アクティブ化していると、黄色の丸が緑の丸になります)。

インストール後にすること
インストール後に何をしていいかわからない!という方のために、手始めに何をしたらいいかについても簡単に紹介していきます。
まず、VASをインストールした場合、NI MAXでカメラのテストが行えます。NI MAXとは、LabVIEWで扱うハードウェアの情報を管理しているソフトウェア、みたいなイメージを持ってもらえればいいのですが、こちらで接続したカメラで実際に撮影やカメラの設定なんかも行えます。
VASをインストールした後にNI MAXでマイシステムの下のデバイスとインタフェースの項目から接続したカメラを選択し、試しに「保存」、「更新」と項目が並んだメニューバーの中のGrabと書かれた部分を押してみてください。

Grabによって、カメラでの撮影が行われ、画像が映し出されると思います。なお、もしデバイスとインタフェースの下にカメラが表示されない場合には、ドライバソフトが正しく当たっていない可能性があります。ケーブルの抜き差しで改善される可能性がありますが、それでも表示されない場合には、
- カメラが故障している
- カメラが規格(USB2.0 Directshow、USB3 Vision, GigE Visionなど)に準拠していない
- カメラ製造元の専用ドライバソフトウェアがIMAQdxによるカメラ操作を妨害している
といった可能性があるようです。
無事にMAXで表示されている場合には、Grabの他にもSnap (連続撮影ではなく一回きりのスナップショット撮影)やヒストグラムの測定、また画像保存もNI MAX上で行えます。

なお、VDMしかインストールしていない場合にはこれらのことは行えません。
カメラが使えることがわかったら、LabVIEWのプログラムでも触ってみます。もちろん、いきなりプログラムを書け、は難しいと思うので、サンプルを見てまずはどういうことができるか、それをするためにはどのようなプログラムにする必要があるのかを確認することをオススメします。
なお、LabVIEWでカメラを動かす際には、必ず、「NI MAXでそのカメラを選択した状態」になっていないことを確認します。NI MAXでカメラを選択している場合、そのカメラにはNI MAXがアクセスしていることになるので、そこにさらにLabVIEWのプログラムがアクセスしようとするとエラーとなります。Ni MAX上で他の項目を選択するか、あるいはNI MAXを閉じてからLabVIEWを使用します。
LabVIEWのサンプルは、メニューバーのヘルプから「サンプルを検索」で開くNIサンプルファインダで確認することができます。

VAS、VDMともに有償ソフトウェアにはなりますが、LabVIEW community editionであってもインストール、評価版での使用はできるようなので、まずは興味があったらインストールして上記のサンプルを見てどんなことができるのかを確認してみるのもアリだと思います。
このブログでは画像撮影および解析のプログラムの例なんかも他の記事で扱っていく予定なので、そちらも見ていただけると嬉しいです。
ここまで読んでいただきありがとうございました。
コメント