11-14-2022 03:19 AM
LabVIEWを最近始めた学生です。
現在、カメラで撮った映像の円形を検出し、円形中心部の移動量を取得するプログラムを作成しています。
課題点が2点あり
1,現在円形データの取得間隔が約0.6秒ずつのため、0.1秒ずつデータを取得したい
2,円形データの取得の精度が稀に悪い
例:円形1と円形2のデータが入れかわるなど
特に1の原因はデータ処理のためデータ取得間隔をこれ以上短くすることができないのか興味があります。
原因と改善方法を示していただけると幸いです。
よろしくお願いします。
11-14-2022 03:21 AM
先ほどの投稿に追加で現在のV.Iを示しておきます
11-25-2022 02:25 AM
カメラのスペックや対象の絵がわからないので何とも言えませんが、とりあえず1920×1080の60fpsカメラで試したところ80msくらいで回っています。CPUはi7の3.6GHzで8コア16スレッドです。
とりあえずダイアグラムで気になるのは、ループ内で同じ処理が繰り返されている部分です。
・IMAQ CreateとIMAQ Disposeはループの外に出せると思います。1つCreateしてImageリファレンスを使いまわし、ループを抜けてからDisposeすればいいです。
・50msのメトロノームは無くていいと思います。
・Image OutのPalette Typeは一回セットすればいいでしょう。
・・・ですが、それらをやっても速度はほぼ変わりませんでした。CPUパワー頼みですね。