From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



IMAQのImageデータをキューを介して受け渡すことはできますか



使用ソフトウェア:
使用ソフトウェア・バージョン: January 2012
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題: IMAQ/IMAQdx関数から集録されたImageデータを、キューを介して受け渡すことは可能でしょうか。その場合気をつけるべきことはありますか。

解決策: IMAQのImageデータを、キューを介して受け渡すことは推奨されていません。IMAQ Create.viで作成されるImageデータは実際の画像データではなく、画像データが確保されているメモリの位置情報を保持しているにすぎません。Imageデータをキューに渡すと、画像データではなくメモリの位置情報を受け渡していることになります。IMAQ関数がメモリ上のデータを上書きしてしまうと、元の画像は削除されてしまいます。

例えば添付のサンプルは、Imageデータをそのままキューで受け渡すとどのようになるか、実感頂くために作成しました。



「画像集録?」ボタンを押すと画像を集録し、「キューから取得?」ボタンを押すとキューからデータを受け取ります。
「画像集録?」を一度押し、「キューから取得?」ボタンを押すと、同じ画像が表示されます。
次に「画像集録?」を一度押して画像を集録後、もう一度ボタンを押して別の画像を集録します。この状態で「キューから取得?」ボタンを押すと、最初の画像は表示されず、2回目に集録した画像のみが表示されます。これは1回目に集録した画像の上に、2回目に集録した画像が上書きされているために起きています。



関連リンク: Imageデータをキューで転送する方法
Memory Management with IMAQ
IMAQdx Stream Image to Disk Using Asynchronous TDMS


添付:
Tranfrer_Image_Data_Image.vi
Tranfrer_Image_Data_Image_2012.vi
Tranfrer_Image_Data_Image_2010.vi





報告日時: 02/19/2003
最終更新日: 03/26/2015
ドキュメントID: 2UIGFQQS