Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error in OpenCV 2.4.2 "OpenCV Error: Bad flag"

I just started trying to play with OpenCV and I wrote a small program from a book that is pretty simple. The problem is when I try to compile it, I get this error. I will give you all the information I have. I installed openCV using homebrew for Mac OS X 10.7.

#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;
}

I compiled liked this:

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

And this is what I got back when I tried to run it.

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

Thanks again.

like image 663
Red Avatar asked Jul 15 '12 17:07

Red


2 Answers

That's because OpenCV doesn't support 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 )

See docs.

like image 166
ArtemStorozhuk Avatar answered Sep 20 '22 05:09

ArtemStorozhuk


I think the "gifs" are not supported

like image 44
nocrox Avatar answered Sep 22 '22 05:09

nocrox