这是我的应用程序的简化版本:
Mat img = imread("./picture.png");
namedWindow("Picture", CV_WINDOW_AUTOSIZE);
imshow("Picture", img);
waitKey(0);
当我执行编译后的应用程序时(在带有 OpenCV 2.4.3 的 MacOS 10.8.2 上),窗口在终端窗口下方打开并且不在焦点中。因此,我必须先单击(或按 Tab 键进入)它,然后可以按任意键来完成 waitKey
。
是否可以自动使 cv::namedWindow
成为焦点?
最佳答案
您可能可以枚举所有窗口并将它们的标题与您自己的窗口标题进行比较。我不确定如何在 MacOS 中执行此操作,但在 Windows 中,有一个 API 可以为您完成这项工作:EnumWindows()。
由于 OpenCV 2.x 仍然支持许多旧的 C 风格函数,您可以检查是否仍然包含 cvGetWindowHandle()。
关于c++ - 如何使 cv::namedWindow 成为 OpenCV2 中的焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266659/