由于sort函数和sortId函数是对一行或一列进行排序的,所以对整个需要reshape一下,还要指定是行还是列。
Mat c1 = (Mat_<uchar>(3, 3) << 1, 5, 6, 2, 4, 3, 8, 9, 7);
Mat c3 = c1.reshape(1, 9);
cv::sort(c3, c3, SORT_EVERY_COLUMN + CV_SORT_ASCENDING);
sortid返回是大小的索引
Mat c1 = (Mat_<uchar>(3, 3) << 1, 5, 6, 2, 4, 3, 8, 9, 7);
Mat c2(c1);
//sort(c2, c2, CV_SORT_EVERY_ROW + CV_SORT_ASCENDING);
sortIdx(c1, c2, SORT_EVERY_COLUMN + SORT_ASCENDING);