OpenCV 2.4.2中的错误“OpenCV错误:坏标志”

编程入门 行业动态 更新时间:2024-10-28 19:27:37
本文介绍了OpenCV 2.4.2中的错误“OpenCV错误:坏标志”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我刚开始尝试使用OpenCV,我从一本很简单的书写了一个小程序。问题是当我尝试编译它,我得到这个错误。我会给你所有的信息。我使用homebrew为Mac OS X 10.7安装了openCV。

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

我编译喜欢这个:

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

这是我在尝试运行时得到的结果。

OpenCV错误:cvGetMat,文件/tmp/homebrew-opencv-2.4.2-oQmu/OpenCV-2.4.2/modules/中的坏标志(参数或结构字段)(无法识别或不支持的数组类型) core / src / array.cpp,第2482行终止调用抛出一个exceptionAbort陷阱:6

$ p $ b 这是因为OpenCV不支持 gif :

函数imread从指定的文件加载图像并返回。如果图像无法读取(因为缺少文件,不当的权限,不支持或无效的格式),函数将返回空矩阵(Mat :: data == NULL)。目前支持以下文件格式:

Windows位图 - * .bmp,* .dib(始终支持)

JPEG文件 - * .jpeg,* .jpg ,* .jpe(见Note2)

JPEG 2000文件 - * .jp2(见注2)

便携式网络图形 - * .png(见Note2)

便携式图像格式 - * .pbm,* .pgm,* .ppm(总是支持)

太阳光栅 - * .sr,* .ras(总是支持)

TIFF文件 - * .tiff,* .tif Note2)

请参阅 docs 。

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.

解决方案

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.

更多推荐

OpenCV 2.4.2中的错误“OpenCV错误:坏标志”

本文发布于:2023-05-26 16:38:20,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:错误   标志   OpenCV

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!