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.

NI製品ディスカッション

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

画像ファイルの読込みと表示

初めて投稿させて頂きます。

半月ほど前からLabView204評価バージョンでプログラミングを始めた超初心者です。

 

サンプルを参考にしながらtif画像の読込みと表示プログラムを作成しています。

添付ファイルのVIを実行すると4枚の画像を順次表示してくれるのですが、オレンジ色の部分をサブVIにすると最後に読み込んだ画像のみの表示になってしまいます。

サブVIにImage表示器を追加し、サブVIを開いた状態で実行するとサブVI内の表示器では画像が順次表示されています。

どこに不具合があるのか教えて頂ければ思います。

 

今、目指しているのは、Vision Assistantで画像を複数枚開くと関数パレットの上段の画像を▲マークで移動できまが、この様な処理を行いたいと思っています。

ご教授いただけると幸いです。

 

よろしくお願いいたします。

0 件の賞賛
メッセージ1/16
7,023件の閲覧回数

このプログラムでは、Imageという名前のメモリ領域に画像を開いて表示し、同じ領域に上書き表示させています。よって、一番最後に開いた画像しか残りません。

複数枚の画像を扱いたい場合は、以下のように変更する必要があります。Vision Assistantの画像切替ボタンは、配列の指標番号の上下ボタンで切替えられます。

 

DF3079908 IMAQ Images.png

 

以上、ご確認ください。

 

日本NI 上野

 

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

日本NI 上野様

 

早速、回答いただきありがとうございます。

 

添付ファイルを拝見すると、Image表示器が見当たらないのですが問題ないのでしょうか?

当方、LabViewに関して全くの素人なのでアイコンだけではなかなか判断できません。 できましたらサンプルVIを添付していただけると助かります。

 

よろしくお願いいたします。

 

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

Image表示器は、Forループの外で配列形式になっています。写真が複数枚あるので配列にしました。

また、メモリを解放するためにイベントストラクチャを配置していますので、停止ボタンでプログラムを停止します。

 

この画像はスニペットです。画像をダイアグラムにドラッグアンドドロップすると、プログラムに変わります。

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

ファイルとしても添付致しますのでご確認ください。

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

日本NI 上野様

 

返信が遅れ申し訳ございませんでした。

また、サンプルVも添付して頂ありがとうございました。

 

多分、配列を使うのではと思っていましたが、この様な形式の配列も作成できるとは思いませんでした。

画像データは2次元配列だと思ったのですが、この方法ですと1次元配列と解釈して問題ありませんか?

今後、画像処理を進めていく上で、ROIや平均、ピクセルの移動等もこの配列を元にVision開発ツールで行っていけますか?

 

配列の使い方については私なりにももっと勉強していくつもりですが、指標番号の動作について質問があります。

指標番号のボタンを押していくと読み込んだ画像枚数を超えて指標番号が進んでしまいます。 これを読み込み数を上限にし、それ以上はボタンを押しても進まないように設定するにはどのようにすればよいでしょうか?

配列のプロパティノードを調べてみたのですが、それらしき項目が見つかませんでした。プロパティで設定するのではなくプログラム的にコントロールする必要があるのでしょうか?ご教授頂けると幸いです。

 

よろしくお願いいたします。

 

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

確かにデータとしては2次元配列データですが、Imageデータタイプ(型)として扱えます。そのため、1枚の画像が1つの型に入っており、それが複数あるので1次元配列となります。

 

Vision関数で扱う場合、各画像に対して処理することになりますので、指標配列で1次元配列からスカラ値にして画像処理をおこないます。

 

配列の増分/減分ボタンには、上限/下限設定ができないため、それ以上進まないようにするには、別途ボタンを作成して、そのボタンをコントロールするとよいと思います。

0 件の賞賛
メッセージ7/16
6,824件の閲覧回数

ボタンをサンプルに追加してみましたのでご確認ください。

 

0 件の賞賛
メッセージ8/16
6,819件の閲覧回数

サンプル、ありがとうございました。

意図したとおりの動作になっているので、とても参考になります。

サンプルの構造をしっかり調べ次のステップへ行きたいと思います。

 

ありがとうございました。

0 件の賞賛
メッセージ9/16
6,790件の閲覧回数

お世話になります。

 

サンプルVIを元に同じVIを一から作成したのですが思うよに動作をしてくれません。

画像の読込みまではできているようですが、サンプルにある様な「Next」、「Previous」ボタンの処理がうまくいきません。

どうもシフトレジスタの値が変化していないようです。

サンプルVIにある配列用のシフトレジスタの初期化アイコンの作成方法がわらず、配列のプロパティーノードの定数をコピーして使用しまた。

作成したVIを添付させていただきます。不具合部をご指摘していただけると幸いです。

 

なお、デバッグでシフトレジスタの値を確認するにはどのような方法がありますか?

単純に数値表示機を配線したのですが、配列なのでエラーになってしまいました。

 

お忙しいところ申し訳ありませんが、よろしくお願いいたします。

0 件の賞賛
メッセージ10/16
6,762件の閲覧回数