2011-07-04 4 views
7

J'utilise la version C++ d'OpenCV 2.3 et j'ai du mal à faire une tâche basique. Ce que je voudrais faire est de créer une fenêtre et le déplacer vers un emplacement spécifique sur l'écran en utilisant par exemple:MoveWindow() manquant dans C++ OpenCV 2.3

cv::namedWindow("My Window", 1); 
cv::MoveWindow("My Window", 10, 10); 

Cependant, il semble que la fonction MoveWindow() ne sont pas disponibles. De la documentation OpenCV 2.3 (link) il semble y avoir des implémentations C et Python, mais pas de C++. Est-ce que cela signifie qu'il y a une meilleure façon de faire cela?

Dans la section pertinente de la documentation:

MoveWindow 
========== 
Moves window to the specified position 
-------------------------------------- 
C: void cvMoveWindow(const char* name, int x, int y) 

Python: cv.MoveWindow(name, x, y) → None 

Parameters: 

- name – Window name 
- x – The new x-coordinate of the window 
- y – The new y-coordinate of the window 

RÉSOLU: À la dernière version de OpenCV, il y a maintenant une fonction cv::MoveWindow("const string& winname, int x, int y). Référence here.

Répondre

9

Vous êtes censé utiliser la fonction C pour cela:

cvMoveWindow(const char* name, int x, int y); 

Vous pouvez vérifier cette information en téléchargeant OpenCV 2.3 for *nix, et sous la C++ échantillons répertoire OpenCV-2.3.0/samples/cpp/tutorial_code/Basic/ recherche d'un fichier nommé Drawing_1.cpp . Il utilise l'interface C++ pour tout .. sauf, en déplaçant la fenêtre.

On dirait que l'interface C++ n'a pas de méthode pour cette tâche.

+0

Cela fait l'affaire, merci. – Chris