在OpenCV中排序矩阵

4
我在使用OpenCVC++ API中的cv::sort功能时遇到了困难。我试图使用以下代码对cv::Mat内容进行排序:cv::sort(InputArray src, OutputArray dst, int flags);但是下面的代码给我编译错误,我不确定这段代码有什么问题:
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
    Mat matrix(5,5,CV_32F,Scalar(0)),m;
    randn(matrix, 2.00, 1.00);
    cout<<"before sorting:\n"<<matrix<<endl;
    sort(matrix, m, CV_SORT_EVERY_ROW + CV_SORT_ASCENDING);
    cout<<"after sorting:\n"<<m<<endl;
    return 0;
}
1个回答

8

即使您使用命名空间cv,也必须使用cv :: sort()而不是sort()。这是因为C ++在命名空间std中实现了sort()的实现,仅使用sort()会导致冲突。


1
有时候感觉很傻。这再次提醒我在使用多个命名空间时需要小心。谢谢。 - garak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接