我有一个相当长的代码,所以我只会在必要时发布,但我会彻底解释这个问题。
在我的主要内部我有2个主要的功能分支,一个在程序启动时只运行一次(带有windows /覆盖/鼠标回调的开始菜单)和循环一个,带摄像头,阈值处理,屏蔽,旋转,图像处理和其他一些功能。问题是我希望能够停止循环,显示带有2个按钮的暂停菜单,我将在其中添加用于恢复和退出按钮的鼠标回调功能。退出很容易,但恢复不是。 好的,我的问题。如何停止循环以打开新页面,然后从该页面恢复之前的循环?
在这个页面里面我不需要循环中的任何函数,所以我猜测必须有一种方法来阻止它,然后使用鼠标输入恢复它。
我正在使用C ++和Opencv库。
欢迎任何建议。
答案 0 :(得分:1)
在主循环中,在等待用户回答的同时调用阻止执行的功能。模态对话框可用于此目的。
如果用户想要退出,则阻塞函数返回一个可以检查的特殊(可能是布尔值),然后退出循环。如果用户想要恢复,则该函数返回另一个值,您只需继续循环。