web-dev-qa-db-ja.com

OpenCVウィンドウを取り、フルスクリーンにします

私は現在、C++でOpenCVプロジェクトを作成しています。ここでは、kinectを使用してモーションを探し、それを使用してスライドショーをキューに入れます(認識なし)。現在、OpenCVを使用してスライドショーを表示しています(これを作成するのに約1週間しかありませんでした)。見栄えが良く、速いです。唯一の問題は、これが大規模なプロダクションで展示される予定であり、ウィンドウを表示する余裕がないことです(タイトルバーなどのウィンドウ装飾について話しています)。

タイトルバーを削除する必要があります。私は多くの調査を行い、cvGetWindowHandle( "SlideShow")を呼び出すことでウィンドウハンドルを魔法のようにつかむことができることを発見しましたが、それはvoid関数であるため、どうすればよいのかよくわかりません。そこからハンドルを取得して操作します。

これはWindowsマシンで終了するため、Windowsとubuntuの両方で開発していますが、デモできるのはubuntuを実行しているラップトップのみです。

WindowsまたはUbuntuのいずれかで、ウィンドウを取得し、サイズ変更された画像で全画面表示して、画面全体ではないにしてもほとんどを埋める方法を誰かに教えてもらえれば、私は永遠に感謝します。

13
Tubbs

Ubuntu11.04でOpenCV2.1を使用しています。私のシステムでは、CV_WINDOW_FULLSCREENフラグとCV_WINDOW_AUTOSIZEフラグは両方とも1にマップされ、両方のフラグはまったく同じように動作します。それらは固定サイズのウィンドウを提供します。これはAUTOSIZEフラグには期待されますが、FULLSCREENには期待されません。これらの2つのフラグは、似たような外観は非常に紛らわしいものの、異なる機能を対象としていると思います。フラグCV_WINDOW_NORMALは、使用した値0にマップされます。最大化できるサイズ変更可能なウィンドウが表示されますが、フルスクリーンウィンドウではありません。

編集:私はちょうど 別のstachoverflow投稿 で解決策を見つけました。これが私のシステムでうまく機能したその投稿からの解決策です:

    cvNamedWindow("Name", CV_WINDOW_NORMAL);
    cvSetWindowProperty("Name", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);
    cvShowImage("Name", your_image);

タイトルバーなどのない本物のフルスクリーンが表示されます。

21
Aras

cv :: setWindowProperty関数は、目的に応じて使用できます。CV_WINDOW_FULLSCREENに設定するだけです。

openCV-WIKI の完全なドキュメント

3
cordellcp3