如何让cv :: namedWindow成为OpenCV2的焦点?

Yur*_*sov 6 c++ opencv

这是我的应用程序的简化版本:

Mat img = imread("./picture.png");
namedWindow("Picture", CV_WINDOW_AUTOSIZE);
imshow("Picture", img);
waitKey(0);
Run Code Online (Sandbox Code Playgroud)

当I(同的OpenCV 2.4.3上的MacOS 10.8.2)执行已编译的应用程序打开时,终端窗口下方的窗口和未聚焦.所以,我必须首先点击(或Tab键)它,然后可以点击任何键waitKey来完成.

是否有可能cv::namedWindow自动聚焦?

jam*_*mes 0

您可以枚举所有窗口并将它们的标题与您自己的窗口标题进行比较。我不确定如何在 MacOS 中执行此操作,但在 Windows 下,有一个 API 可以为您完成此工作:EnumWindows()。

由于 OpenCV 2.x 仍然支持许多旧的 C 风格函数,因此您可以检查是否仍然包含 cvGetWindowHandle()。