NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

BMP、TIFF形式データの計測器からの取り込み-->LabVIEW上での表示

お世話になっております。
LabVIEW7.1.1(Win XP)でIWATSU製オシロスコープDS-8812の制御(GPIB経由)を行っております。
DS-8812について該当するコマンドについてはサンプルviが公開されていなかったので質問いたします。
特定の装置に関する質問かと思われますが、「GPIB経由で画像データとりこみ」という一般的な質問とし
アドバイスを頂戴できますでしょうか。

TSCRN?というクエリでBMP,TIFF形式の画面データと転送できるそうなのですが、
転送データフォーマットをバイトにしバイナリデータを取り込んだものはLabVIEW上で文字列として認識されております。
この文字列を画像データとしてグラフィック形式VIに送りたいのですが、ワイヤがつながりません。

お聞きしたい点は
バイナリデータの文字列を画像データに変換できるのか?
その上で装置から取り込んだBMP,TIFF形式の画面データをLabVIEW上で表示させるにはグラフィック形式VIを用いるのが妥当か?
です。
これに関する情報をお持ちの方がいらっしゃいましたら宜しくお願い致します。
0 件の賞賛
メッセージ1/5
8,117件の閲覧回数
すみません自己レスです。
TSCRN? BMPによって読み取られた文字列を16進表示し、ヘッダ部分の余分なバイナリデータ10バイトを
削除し"文字をファイルに書き込み"に接続しました。
そうしますとファイル保存でき(ここではbmp形式)、保存したファイルを開くと取り込み成功していることが
確認できました。

この時点ではファイル保存はできるものの、フロントパネルに画像リアル表示することがまだできておりません。

ご参考までにviファイル(ver7.1.1で作成)を添付致します。
0 件の賞賛
メッセージ2/5
8,088件の閲覧回数
野宮 様
 
ディスカッションフォーラムへの投稿有難うございます。
日本ナショナルインスツルメンツ技術部大平です。
 
計測器から返されるデータですが、やはりプログラミング→グラフィック&サウンド→グラフィック形式→「BMPファイルを読み取る」関数を使用した呼び出しが適切かと思います。この関数ではBMPファイルを指定していただくことにより画像データを取得することができますが、この情報を「平坦化ピックスマップ描画」関数に配線し、フロントパネル上に画像を表示するのが最も有効的な方法となっております。
 
バイナリデータを直接画像に変換することはできないため、.jpeg, .png, .bmp などの形にしていただく必要がございます。添付致しましたスクリーンショットの様にRGBを色に変換し配列として表示することも可能ですが、非常に大きな配列となり、また画像も見づらいものになってしまいます。
 
上記内容に関しましてご不明な点等ございましたらお気軽にご連絡お願いいたします。
宜しくお願い申し上げます。
 
日本ナショナルインスツルメンツ
技術部 大平 悠生
0 件の賞賛
メッセージ3/5
8,015件の閲覧回数

横槍で恐縮です。

早い話が、既に備わっている「BMPファイル読み込み」の動作を流用して、いちいちファイルを経由せず、BMP形式文字列から直接画像に変換できれば良いわけですよね?

BMPファイル読み込みの関数は、ファイルから文字列を読んできて画像に変換しているので、「既にBMP形式の文字列になったもの」をスタートに出来ればよいかと思います。BMPファイル読み込み関数は、ダブルクリックするとダイヤグラムが開けるので、それを書き換えれば、BMP形式の文字列から直接ピクチャに書き込むことが出来ます。

一例で、既存のBMPファイル読み込みの関数をリワイヤリングして、平坦化pixmapをピクチャに書き出す部分も付加し、BMP形式の文字列をピクチャに書き込む関数を作ってみました。(なお、このviに含まれるサブviは、元々BMPファイル読み込みの中にあったものなので、基本的にはそのまま読めると思いますが、もし開く際に「サブviを指定せよ」といわれたら、予め「BMPファイル読み込み」関数をどこかに置いた上でこのviを開けば大丈夫だと思います)

JPEG、PNGファイルの読み込みについては、中枢部がCall Library Functionになってしまっているので、このテは使えません。

 

0 件の賞賛
メッセージ4/5
7,997件の閲覧回数
白石様;

レスが遅くなり失礼致しました。

早い話が、既に備わっている「BMPファイル読み込み」の動作を流用して、いちいちファイルを経由せず、BMP形式文字列から直接画像に変換できれば良いわけですよね?

おっしゃるとおりです。さっそくbmp-string-to-pict.viを私の作成したviに貼り付けて動作確認をしてみましたところ無事bmp画像の取り込みに成功しました。
「BMPファイル読み取り」をリワイヤしてカスタマイズなさった白石様の技術力の高さに感銘を受けました。
今後私も既存のviファイルをカスタマイズし利用する方法を学んで参りたいと思います。

またNIの大平様にもアドバイス頂けましたことお礼申し上げます。

有難うございました。

0 件の賞賛
メッセージ5/5
7,854件の閲覧回数