Macos OpenCV-土方工程机械&x27;s距离问题,icvInitEMD()
在Mac OS ML下的OpenCV 2.4.2中调用Macos OpenCV-土方工程机械&x27;s距离问题,icvInitEMD(),macos,algorithm,opencv,Macos,Algorithm,Opencv,在Mac OS ML下的OpenCV 2.4.2中调用EMD()时遇到问题 我有一个类,它的属性Mat\u 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<flo
EMD()
时遇到问题
我有一个类,它的属性Mat\u 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
}
}
Mat_签名(尺寸,尺寸+1,CV_32F);
对于(int i=0;i好的,我花了相当长的时间才弄明白,但在我的数据中,有一个向量的分量计算错误,结果是NaN
。
当然,这被深深地埋藏在我的数据中,因此它将完全丢失在通过调试器(甚至cout
)可以合理观察到的任何数量的数据中
OpenCV的神秘错误让我感到困惑
对于和我一样在同一个问题上绊倒的人:
- 确保权重向量不为零
- 确保没有任何数据是
NaN
你确定调用emd时每个成员的签名都被正确分配/设置了吗?是的,我之前检查过,现在又检查了一遍。签名是正确的,应该是size*(dim+1)
。很难说问题出在哪里,我想你可以在调试中编译OpenCV,然后使用调试器解决问题。。。