c++ - 停止函数循环然后恢复它们

标签 c++ opencv

我有一个相当长的代码,所以我只会在必要时发布,但我会彻底解释问题。

在我的 main 中,我有 2 个主要功能分支,一个仅在程序启动时运行一次(类似于带有窗口/覆盖/鼠标回调的开始菜单)和一个循环分支,带有摄像头、阈值、 mask 、旋转、图像处理等一些功能。问题是我希望能够停止循环,显示带有 2 个按钮的暂停菜单,我将在其中为恢复和退出按钮添加鼠标回调函数。退出相当容易,但恢复则不然。 好的好的,所以我的问题。如何停止循环以打开一个新页面,然后从该页面恢复之前的循环?

在这个页面中,我不需要循环中的任何函数,所以我猜必须有一种方法可以停止它,然后使用鼠标输入恢复它。

我正在使用 C++ 和 Opencv 库。

欢迎提出任何建议。

最佳答案

在主循环中,调用一个函数,该函数在等待用户回答时阻止执行。模态对话框可用于此目的。

如果用户想要退出,那么阻塞函数会返回一个可以检查的特殊(可能是 bool 值)值,然后您退出循环。如果用户想要继续,那么该函数会返回另一个值,您只需继续循环即可。

关于c++ - 停止函数循环然后恢复它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490101/

相关文章:

c++ - 类接口(interface)查询

c++ - 当涉及分配器时,是否有类似于 copy-and-swap 习惯用法的东西?

image-processing - 如何在opencv中找到图像的最大和最小亮度值?

java - 为什么以及如何应用阈值来获得更好的匹配特征

opencv - 在OpenCV(或skimage)中使用Projection Profile Deskew方法后,将旋转图像的背景更改为白色,而不是黑色

c# - 在 C# 项目中使用 OpenH264 DLL

c++ - 组合两个复制和 move 的构造函数

c++ - 是否返回 std::list coSTLy?

opencv - 使用 cmake 构建 CI2CV 时出错

opencv - ros dynamic install无法处理软件包 'opencv3'