4

我在使用OpenCV的C++ API 中的cv::sort功能时遇到问题。

我正在尝试使用OpenCVcv::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;
}
4

1 回答 1

8

你必须使用 cv::sort() 而不是 sort(),即使你正在使用命名空间 cv。这是因为 C++ 在命名空间 std 中有一个 sort() 的实现,简单地使用 sort() 会产生冲突。

于 2012-04-10T01:03:02.150 回答