为什么我得到这个OpenCV错误断言失败?

时间:2013-04-17 19:23:18

标签: opencv

以下是代码:

Mat _orange = imread("orange.jpg");
Mat_<Vec3f> orange;
_orange.convertTo(orange, orange.type(), 1.0/255.0);

_orange.convertTo(orange, orange.type(), 1.0/255.0);部分导致错误。

以下是错误消息:

OpenCV错误:断言失败(!fixedType()||((Mat *)obj) - &gt; type()== mtype)未知函数。

PS: 我使用的是Visual Studio 2012和OpenCV 2.4.4

2 个答案:

答案 0 :(得分:0)

我的猜测是cv::Mat::convertTo()方法调用cv::Mat::create()方法为变量orange中的数据分配内存。您应该尝试将orange.type()替换为CV_32F以使其正常工作。

答案 1 :(得分:0)

尝试将参数添加到您的imread中,如下所示:

cv::imread("orange.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR );