问题陈述:使用摄像头跟踪对象并相应地移动方位和俯仰。
过程:摄像机获取对象的图像...每个摄像头帧都经过处理以找到(预期跟踪的)对象,每个帧生成的信息会传递给机械设备(万向架...),以便在平移和倾斜方面移动相机...
设计:主要的 Gui 在一个线程中运行,摄像头和万向架在另外两个线程中运行...在摄像头线程中产生的信息被传递到万向架线程,并且同一线程(即摄像头线程...)显示跟踪图像...
限制条件:显示速率比万向架移动速率快...所以在每个帧中...
- 帧被处理并显示(速率为10毫秒)
- 生成的信息被传递到万向架
- 暂停万向架线程更长时间(100毫秒),以便给机械部件足够时间移动,确保直到完成其移动之前没有新的更新进入万向架...
以下图表显示了 Qt 中的类设计及信号与插槽连接。
如有可能,请建议更好的解决方案...
错误:有时我会遇到一个错误...
QObject::killTimers: timers cannot be stopped from another thread