我在实施以下方案时遇到问题.我的问题陈述如下:
>我有3个线程. ThreadCamera用于从相机抓取帧.用于处理(获取的图像/帧的OpenCV进行一些图像处理)帧和显示图像的主GUI线程的ThreadProcess.
>我不知道ThreadProcess将花费多少时间来处理图像.所以我想将图像从ThreadCamera传递给ThreadProcess,对图像进行一些图像处理,然后将其传递给主GUI线程进行显示.
>当ThreadProcess处理图像时,T??hreadCamera应该休眠.即它不应从相机中抓取更多的帧.当ThreadProcess完成图像处理任务时,它将图像和一些信息传递给主GUI线程.此后,只有ThreadCamera应该醒来,并从该(ThreadCamera)线程的相机行拍中获取下一帧/图像.
Thanx Guys …经过一番评论,将“相机和图像处理”工作放到了一个线程中,我想知道另一点..
>如果在处理正在进行时不想睡觉,该怎么办?我放开CameraThread抓取的一些帧对我来说没关系(无论如何我睡觉还是不睡觉都在丢失相机)
我为每个进程(相机进程和图像处理作业)使用QObject,并使用movetoThread命令使其在特定线程中运行.
关于实现和信号/插槽设计的任何见解都将有所帮助.