01-21-2015 02:24 AM - 編集済み 01-21-2015 02:30 AM
初めまして。ちょっとした取り組みで LabVIEW と myRIO を使っているものです。
その取り組みで2台のカメラを使うのですが、どうしても2台同時に使うことができないのです。
2つのカメラを交互に映すことも思いついたのですが、どうにも方法がわかりません。
一番いいのは同時に映せることなのですが・・・
どうか2台のカメラを同時にLabVIEWで動かし、静止画を撮影する方法を教えてもらえないでしょうか。
「同時は出来ない!」ということなら、上記した交互に映す方法でもまったく構いません。
一つのブロックダイアグラム内で行えるものが一番いいです。
ほかにも良い方法があるなら、教えていただけると幸いです。
使っているものは、LabVIEW、myRIO、USBのウェブカメラ2台になります。
訳が分からないところなどがあったら返信で質問してください。
よろしくお願いします。
解決済! 解決策の投稿を見る。
01-21-2015 06:03 PM
2台のカメラというところをまず確認させてほしいのですが、
myRIOのUSBポートは一つだけですよね。そこにUSBハブみたいなものを介して複数のカメラを接続されているのでしょうか?
Q. 現状1台のカメラでは問題なく撮影できていますか?
Q. 2台で試すとエラーが出ますか?
それと希望されるFPSはどれくらいでしょう?
FPSが低ければ交互の撮影でも問題ないと思います。
その際には別途IMAQdxでのプログラミングが必要になります。
01-22-2015 02:41 AM
Tepig様
こんにちは
質問ありがとうございます
まず、おっしゃられているように、myRIOにUSBハブを接続して2台のカメラを使っています
1台のカメラでは特に問題もなく映像、静止画共に撮影できています
2台で試すとエラーは特に出ず、片方のの画像が2つの Image Display(Silver) に映し出されます。
希望FPSは1台10fsp、2台合計20fsp程度です
こんなところでしょうか
一応現状のブロックダイアグラムを乗せておきます
ひどいものだと思いますが・・・・
返信が遅くなりすみませんでした
01-22-2015 02:51 AM
こんにちは
追記のようなものです
最初に「2台のカメラで静止画を撮影する方法」と書いたのですが、映像を撮影する方法も教えていただけないでしょうか
厚かましいかもしれませんが、よろしくお願いします
01-22-2015 10:56 PM
おそらく画像メモリの識別名「myimg」が同じ名前になっていることが原因です。
この状態だと、カメラ1の画像も、カメラ2の画像も同じ画像メモリ「myimg」に書き込まれます。
対策は、カメラ1の画像メモリを「myimg_1」、カメラ2の画像メモリを「myimg_2」と別々の名前にすればOKだと思いますが。。。。。
01-22-2015 11:31 PM
Y_katouさんのご指摘が正解かもしれませんね。
画像データの扱いとして、関数間で実際の画像データが受け渡されているわけではなく、
画像が確保されているメモリの位置情報が渡されています。
なので例えばキューを使うときにも注意が必要です。
Can I Use the Queue VIs in LabVIEW with IMAQ Images? - National Instruments
http://digital.ni.com/public.nsf/allkb/314F58D7A93D8F8A86256CD200810EDF
01-23-2015 03:18 AM
Y_katou様、Tepig様
返信ありがとうございます。
おっしゃられましたように myimg を二つに分けてしてみたのですが、片方のカメラの映像しか映りませんでした
映っているのは cam0 のほうです
カメラの電源は両方入っています
ブロックダイヤグラムと、実行中のフロントパネルの画像を乗せました
すみませんが、またアドバイスよろしくお願いします
01-26-2015 06:31 PM
画像メモリを破棄するアイコン「ごみ箱」を2つとも削除してみてください。
削除しなくても、とりあえずは動くと思います。
このVIを見ていると、ループが終了する前に、画像メモリが破棄される可能があると思います。
01-29-2015 02:58 AM
Y_katou 様
アドバイスありがとうございます。
返信が遅れ、すみませんでした。
やっぱり2台同時には動きません。
今回は cam1 は動きましたが cam0 は動きませんでした。
cam1 と cam0 をつなぎ変えてみましたが cam1 のほうしか動きませんでした。
cam0 のほうにもしっかり電源は入っています。
またアドバイスお願いします。
02-01-2015 02:41 AM
こんにちは。
すでに確認されたと思いますが、プログラム終了時(二つの停止ボタンを押した後)にエラーは発生していませんよね?
思いつくことといえば、同じUSB カメラを2台使っているとドライバの部分で違いを認識できていないのかもしれません。
違うカメラを2台使ってますか?なんとなく別々の会社のカメラを使うほうがいい気がします。