OpenCV中sort函数的用法
时间: 2023-10-07 17:08:20 浏览: 63
OpenCV中的sort函数用于对数组或向量进行排序。其函数原型如下:
```cpp
void sort(InputOutputArray src, int flags = SORT_EVERY_ROW + SORT_ASCENDING);
```
其中,参数src表示要排序的数组或向量,flags表示排序方式,可以是以下常量之一:
- SORT_EVERY_ROW:按行排序
- SORT_EVERY_COLUMN:按列排序
- SORT_ASCENDING:升序排序
- SORT_DESCENDING:降序排序
默认情况下,sort函数按行进行升序排序。
下面是一个示例代码,演示如何使用sort函数对向量进行排序:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 创建一个向量并初始化
vector<int> v{ 3, 1, 4, 2, 5 };
cout << "排序前:";
for (auto i : v) {
cout << i << " ";
}
cout << endl;
// 对向量进行排序
sort(v.begin(), v.end());
cout << "排序后:";
for (auto i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
排序前:3 1 4 2 5
排序后:1 2 3 4 5
```
需要注意的是,sort函数只能对基本数据类型进行排序,如果要对自定义的数据类型进行排序,需要自己实现比较函数。