我发现Qt和OpenCV 4.0.0不兼容,因为前者用于32位,而后者用于64位。 (构建64位Qt令我非常困惑)因此,我决定使用IPC来实现我的应用程序。但是,我没有使用它的经验,只是从理论上知道它。
这是我要实现的:有两个过程。第一个从网络摄像头读取一个帧(与Qt结合使用),然后以cv :: Mat的形式发送到第二个帧。第二个进行界标检测,在Mat中绘制一个圆圈,然后将其重新发送到第一个。
我很好奇的是第二个进程如何知道帧(Mat)已发送。 如果我像下面那样实现它,那似乎效率很低。
while(nothing in shared memory);
do_something()
第二个进程应该在没有要处理的帧(Mat)时进入睡眠状态,第二个进程应该在有一个帧(Mat)时被唤醒。 我该如何实施?