以下是我的应用的简化版本:
Mat img = imread("./picture.png");
namedWindow("Picture", CV_WINDOW_AUTOSIZE);
imshow("Picture", img);
waitKey(0);
当我执行已编译的应用程序时(在带有OpenCV 2.4.3的MacOS 10.8.2上),窗口在终端窗口下面打开并且不在焦点上。所以,我必须先点击(或标签),然后点击任意键才能完成waitKey
。
是否可以自动将cv::namedWindow
置于焦点?
答案 0 :(得分:0)
您可以枚举所有窗口并将其标题与您自己的窗口标题进行比较。我不确定如何在MacOS中执行此操作,但在Windows下,有一个API可以为您完成此任务:EnumWindows()。
由于OpenCV 2.x仍然支持许多旧的C风格函数,你可以检查是否仍然包含cvGetWindowHandle()。