2013-01-10 6 views
6
ここ

は私のアプリの簡易版です:私は(OpenCVの2.4.3とMacOSの10.8.2に)コンパイルアプリを実行するとOpenCV2でcv :: namedWindowにフォーカスを持たせるには?

Mat img = imread("./picture.png"); 
namedWindow("Picture", CV_WINDOW_AUTOSIZE); 
imshow("Picture", img); 
waitKey(0); 

ウィンドウは、ターミナルウィンドウの下にオープンし、フォーカスがないです。だから、最初にそれをクリック(またはタブイン)してから、waitKeyのために任意のキーを押すことができます。

cv::namedWindowに自動的にフォーカスを移すことはできますか?

+1

参照:http://stackoverflow.com/questions/8417531/opencv-how-to-force-the-image-window-to-appear-on-top-of-other-windowsまたはhttp:// stackoverflow .com/questions/5960968/opencv-window-always-on-top?lq = 1 – Smash

+0

私は参照してください。 OpenCV2で廃止されているようですが、少なくとも私はどこでもドキュメント内で見つけられません。そして、MacOSがWindows用に何をしているのかを知ることができます。いくつかの醜いプラットフォーム固有のコードを書いてください。ハイグイは堅牢なウィンドウフレームワークとして意図されていなかったので、理解できると思います。 –

答えて

0

おそらくすべてのウィンドウを列挙し、そのタイトルを自分のウィンドウタイトルと比較できます。私はMacOSでそれを行う方法はわかりませんが、WindowsではEnumWindows()のためにこの仕事をするAPIがあります。

OpenCV 2.xはまだ多くの古いCスタイルの関数をサポートしているので、おそらくcvGetWindowHandle()がまだ含まれているかどうかを確認できます。

関連する問題