我EMD()
在 Mac OS ML 下调用 OpenCV 2.4.2 时遇到问题。
我有一个类,其属性Mat _signature
定义如下:
Mat _signature(size,dim+1,CV_32F);
for (int i = 0; i<size; ++i){
_signature.at<float>(i,0) = weight;
for (int j = 1; j < dim+1; ++j){
_signature.at<float>(i,j) = vec[i].at<float>(0,j-1); // vec[i] is a line vector containing the position in R^dim
}
}
然后我有那个类u
的v
2 个实例,当我打电话时EMD(u._signature, v._signature, CV_DIST_L2);
它失败了OpenCV Error: One of arguments' values is out of range () in icvInitEMD, file /*SOME PATH*/OpenCV-2.4.2/modules/imgproc/src/emd.cpp, line 408
我查看了源代码,但无法弄清楚这是什么失败。我的论点与文档的要求相对应。任何帮助将不胜感激。