2012-07-15 4 views
5

Je viens de commencer à essayer de jouer avec OpenCV et j'ai écrit un petit programme à partir d'un livre qui est assez simple. Le problème est quand j'essaye de le compiler, j'obtiens cette erreur. Je vais vous donner toutes les informations que j'ai. J'ai installé openCV en utilisant homebrew pour Mac OS X 10.7.Erreur dans OpenCV 2.4.2 "Erreur OpenCV: Bad flag"

#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 

int main(int argc, char *argv[]) 
{ 
cv::Mat image = cv::imread("usf.gif"); 
cv::namedWindow("My Image"); 
cv::imshow("My Image", image); 
cv::waitKey(5000); 

return 1; 
} 

Je Compilé aimé:

g++ -o test opencvtest.cc -lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_video -lopencv_features2d -lopencv_ml -lopencv_highgui -lopencv_objdetect -lopencv_contrib -lopencv_legacy 

Et voici ce que je suis quand j'ai essayé de l'exécuter.

OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file /tmp/homebrew-opencv-2.4.2-oQmu/OpenCV-2.4.2/modules/core/src/array.cpp, line 2482 
terminate called throwing an exceptionAbort trap: 6 

Merci encore.

+1

essayez de charger une autre image comme jpg ou png et vérifiez si la même erreur vient. –

+0

Cela a fonctionné parfaitement. Mais je vais laisser cette question en espérant que quelqu'un puisse répondre pourquoi cela ne fonctionne pas avec les gifs. La connaissance est le pouvoir. – Red

+0

Vous pouvez lire les documents de la fonction 'imread' pour connaître les formats pris en charge. –

Répondre

9

C'est parce que OpenCV ne supporte pas gif:

The function imread loads an image from the specified file and returns it. If the image can not be read (because of missing file, improper permissions, unsupported or invalid format), the function returns empty matrix (Mat::data==NULL).Currently, the following file formats are supported:

Windows bitmaps - *.bmp, *.dib (always supported)

JPEG files - *.jpeg, *.jpg, *.jpe (see Note2)

JPEG 2000 files - *.jp2 (see Note2)

Portable Network Graphics - *.png (see Note2)

Portable image format - *.pbm, *.pgm, *.ppm (always supported)

Sun rasters - *.sr, *.ras (always supported)

TIFF files - *.tiff, *.tif (see Note2)

Voir docs.

2

Je pense que les "gifs" ne sont pas supportés