为什么我得到这个OpenCV错误断言失败?
代码如下:为什么我得到这个OpenCV错误断言失败?,opencv,Opencv,代码如下: Mat _orange = imread("orange.jpg"); Mat_<Vec3f> orange; _orange.convertTo(orange, orange.type(), 1.0/255.0); Mat_orange=imread(“orange.jpg”); 苹果橙; _orange.convertTo(orange,orange.type(),1.0/255.0); \u orange.convertTo(orange,orange.type
Mat _orange = imread("orange.jpg");
Mat_<Vec3f> orange;
_orange.convertTo(orange, orange.type(), 1.0/255.0);
Mat_orange=imread(“orange.jpg”);
苹果橙;
_orange.convertTo(orange,orange.type(),1.0/255.0);
\u orange.convertTo(orange,orange.type(),1.0/255.0)代码>零件导致错误
以下是错误消息:
OpenCV错误:在未知函数中断言失败(!fixedType()| |((Mat*)obj)->type()==mtype)
附言:
我正在使用Visual Studio 2012和OpenCV 2.4.4我猜cv::Mat::convertTo()
方法正在调用cv::Mat::create()
方法为变量orange
中的数据分配内存。您应该尝试用CV\u 32F
替换orange.type()
,以使其正常工作。尝试向imread中添加参数,如下所示:
cv::imread("orange.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR );
这是我最初的方法,不幸的是,它给出了相同的错误。\u orange.channels()
返回什么?它返回3作为\u orange.channels()。我使用的是2.4.5和VS2010的区别。但这应该不是一个问题。所以,也许可以看看你的include和lib。