NI製品ディスカッション

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

信号データを2次元配列から画像化する方法

LabVIEWにおいて、1本の長い信号データを、区切りながら2次元配列して画像化するには、どのようなプログラムを作ればいいのでしょうか?

自分の考えとしましては、強度グラフを使うのだと思うのですが、詳しい組み方が分からずにいます。

何か、こうしたらいいんじゃないかという、アイデアなどがあれば教えてください。よろしくお願いします。

0 件の賞賛
メッセージ1/6
5,978件の閲覧回数

kanagawakenminn さん

 

ちょっと作ってみようと思ったら結構面倒なことになりました。

もし白黒の画像であればすごくシンプルでU8の配列をそのまま強度グラフに入れてあげるとそのまま表示できます。

強度グラフは一つ一つの配列の中のU8のデータがピクセルデータになります。

(強度グラフの深度は初期状態で0~100になっていたのでU8の255に変更が必要です)

 

カラー画像がめんどくさそうです。

LabVIEWは標準でピクチャー関数という画像を表す機能があるようなのですが、

この関数を使用するときはカラーのRGB(U32)をU8の配列に変換しなければならないようです。

なので配列の操作がすこし面倒でした。

 

image create.PNG

 

これらの配列操作が面倒なので画像解析用の追加アドオン(画像解析モジュール)があった方がいいかもしれません。

 

0 件の賞賛
メッセージ2/6
5,969件の閲覧回数

ちなみに1Dの長いデータを2Dに変換するには配列次元変更が使えます

 

1D to 2D.PNG

 

1Dの長い信号データを入力してあとは列は何列なのか、行は何行なのか縦と横を指定するだけで、

2Dの配列に区切って生成してくれます

0 件の賞賛
メッセージ3/6
5,965件の閲覧回数

>Vegemiteさん

早速の回答ありがとうございます。
作ったというプログラム、および、その説明を読ませていただきました。
その中でひとつ気になったのが、「U8の配列」と言うものです。
ひょっとしたら、LabVIEWを扱う上での基本用語なのかもしれませんが、これの意味が良くわかりません。
どういう意味なのでしょうか?

あと、最終的な強度グラフは、白黒で表示させようと考えています。

0 件の賞賛
メッセージ4/6
5,950件の閲覧回数

kanagawakenminnさん

 

U8というのは数値のデータタイプの符号なし8バイト数値です。

0~255で表される数値になります。

U8の配列は符号なし8バイト数値の配列という意味になります。

白黒画像の場合、信号によりますが通常8バイトもしくは16バイトで表されるのが普通かと思いますので、8バイトの場合0~255までのレベルで表されます。

 

また強度グラフの右上の色の分布バーのところにある、数値上で右クリックするとマーカカラーより色の分布を変更できますので、初期設定だと0が黒、 50が青, 100が白で色分布が設定されていますのでここを変更すれば色々な設定が変更可能です。(こちらで白黒画像に設定することが可能だと思います。)

 

image2.PNG

 

参考になれば幸いです。

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

>Vegemiteさん

だいぶ期間が空いてしまい申し訳ありません。Vegemiteさんが作ったという、ブロックダイアグラムを、自分も作ってみようとしたのですが、

添付写真の①~④が、何のアイコンなのかが分かりません。また基本的なことかもしれませんが、教えていただけますでしょうか?

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