OpenCV: comment faire pour forcer la fenêtre de l'image s'affichent au-dessus des autres fenêtres?

À l'aide de cvShowImage, on peut facilement montrer une image en OpenCV. Cependant, comment dites-vous OpenCV pour afficher la fenêtre sur le dessus de chaque autre fenêtre?

Je exécuter en plein écran d'une application OpenGL tout en montrant les images. La première fois que le OpenCV fenêtre pop-up s'ouvre sur le dessus de ma fenêtre de l'application, mais si je clique sur la fenêtre de mon application (c'est à dire donner le focus), alors je n'arrive pas à avoir le OpenCV revenir en haut de la fenêtre OpenGL, même lorsque la destruction et la recréation de la fenêtre.

J'ai pensé à renommer la fenêtre à chaque fois, mais est-il une autre façon de le faire?

  • Cette application openGL s'exécute en plein écran ou dans une fenêtre? Je suis déchiré entre "plein écran openGL app" et "cliqué sur la fenêtre de l'application"
  • vous avez raison, ce n'était pas clair: l'application OpenGL prend tout l'écran mais n'est pas lancé en mode plein écran; ce changement quelque chose de bien?
  • Il n'. Ajouté à la manière de karl réponse. Lorsque vous obtenez poignée avec cvGetHandle vous pouvez windows comme sur le dessus, ou un ensemble fenêtre opengl en tant que parent de cv de l'image avec SetParent() de la fonction, de cette façon, lorsque votre fenêtre parent (openGL) sera active, fenêtre enfant sera toujours visible, mais pas active, qui est ce que vous voulez.
  • Merci! Je vais essayer ça alors
  • Vous feriez mieux de l'alimentation de la OpenCV Mat objet dans un Qt GUI (à l'aide de QImage ou QPixmap méthodes statiques), alors l'intervalle Qt GUI vous donnera un contrôle total.
InformationsquelleAutor seb | 2011-12-07