|
IMAQで取得したイメージをネットワークで転送しようとしています。送信には、文字列に平坦化したイメージデータをTCP書き込みを使ってTCP/IPで通信するプログラムを作りました。データを受信して、イメージに変換するプログラムを書こうとしていますが、Visionのパレットには、平坦化した文字列をイメージに戻すアイコンがありません。平坦化したイメージはどのように戻したらいいですか?
IMAQ Flatten Image to String (イメージを文字列に平坦化)はあるが、平坦化した文字列をイメージに戻すアイコンがない。
イメージをネットワークで転送する場合、イメージを文字列に平坦化し、TCP書き込みを使う方法がよく使われます。LabVIEW RTなどでは、ホストPCでRTのVIのフロントパネルを開いて動作させることがありますが、その場合に行われている、制御器や表示器のフロントパネル通信より、TCP通信のプログラムを書いたほうが、CPUの負荷を減らすことができますし、LabVIEW RTのプログラムでは、本来、制御器や表示器はできるだけフロントパネルに置かないようにプログラムを書きます。
イメージを文字列に平坦化するには、ビジョン&モーション>>Vision Utilities>>Image Managementのパレットにある、”IMAQ Flatten Image to String”を使用しますが、TCP通信で受け取った文字列をイメージに戻すアイコンは、Visionのパレットにはありません。文字列をイメージに戻す場合は、数値>>データ操作のパレットにある、”文字列から非平坦化”を使用します。
イメージを文字列に平坦化する場合に、データ操作のパレットにある”文字列に平坦化”を使用することも可能です。
添付のサンプルは、イメージを文字列に平坦化しTCP/IPで通信するVIです。LabVIEW付属のSimple Data Server/Client を元にメージを転送するようにしたものです。このVIはLabVIEW8.5で作成してあります。
Simple Data Client for image.vi
Simple Data Server for image.vi
Simple Data Server for image with Vision.vi
|