02-09-2015 08:38 AM
シフトレジスタの初期化は、シフトレジスタを作成後に右クリックして、作成 ≫ 定数で作成して、数値の0を入れました。シフトレジスタが動かないのは、空の配列をつないでいるからです。
空のデータに対して、インクリメント、デクリメントしても何も変わりません。何かしら初期値として数値をいれてみてください。
デバッグでは、Whileループ前まで進ませて、ブレイクポイントで一時停止して、実行のハイライト(豆電球ボタン)とプローブを使用しました。
02-15-2015 08:40 PM
回答、ありがとうございました。
Whileループにシフトレジスタを追加して作成→定数を選択してもすべての項目が選択不可の状態になってしまいます。
Whileループ内に配列のプロパティノード(指標の値)を作成し、シフトレジスタに接続するとエラーになってしまいます。
Whileループの外側に数値定数を作成すればシフトレジスタに接続はできるのですが、やはり配列のプロパティノードには接続できません。
サンプルのWhileループにシフトレジスタを追加し、作成で定数を指定すると確かに二次元用の定数ができます。
また、VI上特に空の配列を作成しているとは思えないのですが、やはりWhileループ、定数、プロパティノードの作成方法に問題があるのでしょうか?
超初歩的な質問で恐縮ですが、よろしくお願いいたします。
02-16-2015 04:58 AM
Whileループにシフトレジスタを追加して作成→定数を選択してもすべての項目が選択不可になるのは、値がまだ未定でどんな型の定数を作成すべきかLabVIEWが分からないからです。
Whileループ内に配列のプロパティノード(指標の値)を作成し、シフトレジスタに接続するとエラーになってしまうのは、まだ配線が足らないからです。必要な配線が揃うとエラーではなくなります。
下記のような順序で作成すると、効率がよいと思います。
すごく見づらいのですが、下記のような違いがあります。上記のステップ5をおこなうと左側から右側のように変わります。
02-21-2015 06:47 PM
回答ありがとうございました。
教えていただいた手順で定数を作成しサンプルと同じ動作をさせることができました。
因みに以前、各画像に対して処理を行う場合、「標配列で1次元配列からスカラ
例えば画像配列内の画像平均をとるような場合、配列の各要素をForループを使ってIMAQ Imageに読み込み/加算し、画像枚数で割るような処理を行えば
よろしいでしょうか?
よろしくお願いします。
02-22-2015 06:07 PM
そうですね、その方法で良いと思います。
デフォルトインストールでは、下記に画像3枚以上の平均に対応したサンプルがございます。(OSのビット数やLabVIEWバージョンにより若干異なります。)
C:\Program Files (x86)\National Instruments\LabVIEW 2014\examples\Vision\Operators
上記のサンプルでは、ループ内で画像を読み出しているので画像の配列ではありませんが、配列の場合は下記のようになります。
02-22-2015 07:25 PM
お世話になります。
早速回答していただきありがとうございます。
サンプルを見て画像平均に取り組んでいきます。 また、配列を使用したサンプルまでを作成して頂きありがとうございました。
不勉強のせいで初歩的な質問ばかりでしたが、ご回答いただきとても助かりました。
これからもよろしくお願いいたします。
ありがとうございました。