以下是代码:
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
答案 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 );