【发布时间】:2015-11-26 20:24:14
【问题描述】:
我想使用 C++ 中的 OpenCV 库在 SparseMat 矩阵中找到 max 的 位置。 我尝试了以下不起作用的代码:
int Tdim=1;
int Tsize[]={2,3};
SparseMat samplesT(Tdim,Tsize,CV_32F);
int el[]={1,2}; // max location
samplesT.ref<float>(el)=5; // setting max value
double TmaxVal, TminVal;
int TmaxIdx, TminIdx;
minMaxLoc(samplesT, &TminVal, &TmaxVal, &TminIdx, &TmaxIdx);
cout<<"TmaxIdx= "<<(TmaxIdx)<<endl; // returns: 1
cout<<"TmaxVal= "<<(samplesT.ref<float>(TmaxIdx))<<endl; // returns: 5
真的很奇怪
samplesT.ref<float>(TmaxIdx)
正确返回矩阵的最大值,但是,TmaxIdx 只包含矩阵中最大值的行!
我希望可以使用任何方法来查找 OpenCV SparseMat 矩阵中最大值的 x 和 y。
【问题讨论】:
标签: c++ opencv max sparse-matrix