問題文: カメラでオブジェクトを追跡し、それに応じてカメラを方位角と仰角で移動します。
プロセス: カメラはオブジェクトの画像を取得します....カメラの各フレームを処理してオブジェクト (追跡されるはずです...) を見つけ、各フレームで生成された情報を機械デバイス (ジンバル.. .) カメラをパンとチルトで動かすには...
設計: メインの GUI はスレッドで実行され、カメラとジンバルは他の 2 つのスレッドで実行されます...カメラ スレッドで生成された情報はジンバル スレッドに渡され、同じスレッド (カメラ スレッド...) が追跡された画像を表示します...
制約: 表示レートはジンバルの移動レートよりも高速です...したがって、各フレームで...
- フレームが処理されて表示されます (10 ms レートで)
- 生成された情報はジンバルに渡されます
- ジンバル スレッドはより長い時間 (100 ミリ秒) 中断され、機械部品が移動する時間を与え、移動が完了するまでジンバルに新しい更新が来ないようにします。
次の図は、Qt のクラスとシグナルおよびスロット接続の設計を示しています。
可能であれば、問題に対処するためのより良い方法を提案してください...
エラー: 時々エラーが発生します...
QObject::killTimers: タイマーは別のスレッドから停止できません