OpenCV: où puis-je trouver CV_WINDOW_AUTOSIZE constantes?
J'ai essayé de construire le programme d'échantillons de OpenCV de la documentation, mais j'ai rencontré un problème:
erreur: ‘CV_WINDOW_AUTOSIZE " n'a pas été déclarée dans le champ d'application
Source de programme:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
Je pense que CV_WINDOW_AUTOSIZE
constantes ont été contenues dans un certain fichier d'en-tête, mais je ne peux pas trouver un fichier d'en-tête.
Vous devez vous connecter pour publier un commentaire.
depuis toutes les fenêtres des choses est dans les highgui module, vous aurez besoin
aussi, vous aurez besoin de lien contre la opencv_highgui bibliothèque plus tard
CV_WINDOW_AUTOSIZE
vraiment est trouvé danshighgui.h
, MAIS, comme @berak souligné dans les commentaires, quede la partie de l'obsolète c-api. Vous devriez plutôt faire une de deux choses:WINDOW_AUTOSIZE
au lieu de cela, qui fait partie de l'API C++. Vous n'avez pas besoin de changer quoi que ce soit d'autre pour faire ce travail, même pas #include tout ce qui n'est pas déjà incluses dans l'exemple.namedWindow( "Display Image" )
au lieu de cela, depuis namedWindow utiliseWINDOW_AUTOSIZE
par défaut et vous n'avez même pas à l'inclure comme un argument.Testé pour OpenCV 3.0.0
Il semble que, dans OpenCV 3.1, vous devez utiliser
cv::WindowFlags::WINDOW_AUTOSIZE
qui est situé dans<opencv2/highgui.hpp>
.Vous le trouverez dans
highgui.h
.