OpenCV 'sortIdx' 返回意外结果
OpenCV `sortIdx` returning unexpected results
我尝试使用OpenCV sortIdx
(C++/目标C),但得到意想不到的结果:
Mat test = (Mat_<double>(1, 6) << 15.342105,5.000000,27.000000,1.1,2.1,3.1);
std::cout << test << "n";
Mat testIdx;
sortIdx(test, testIdx, CV_SORT_ASCENDING | CV_SORT_EVERY_ROW);
std::cout << testIdx << "n";
这给出了输出:
[15.342105, 5, 27, 1.1, 2.1, 3.1]
[3, 4, 5, 1, 0, 2]
虽然我期待
[15.342105, 5, 27, 1.1, 2.1, 3.1]
[4, 3, 5, 0, 1, 2]
我不知道为什么,正常的sort
函数正确返回排序序列。
排序顺序为
{test[3], test[4], test[5], test[1], test[0], test[2]}
与您的结果相当吻合。
你期望结果是从输入到输出的映射("输入中的这个项目会去哪里?"),但它实际上是从输出到输入的映射("输出中的这个项目来自哪里?")。
相关文章:
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 使用++运算符会导致意外的结果
- 尝试将字符串/字符转换为整数会产生意外结果
- lower_bound() 给出意外的结果
- 三元运算符在返回语句中给出意外的结果
- RapidXML - 代码创建意外结果
- 类中静态函数C++意外结果
- 模板函数意外的结果
- 指针数组中的意外结果
- 使用指针访问数组元素时出现意外结果
- 使用 sprintf 和 %g 将双精度转换为字符串的意外结果
- C++:比较运算符>和字符串文本的意外结果
- 具有意外结果的 C++ 闭包
- 操作员!! 产生意外的结果
- yaml-cpp 比较的意外结果
- Spirit X3:自定义数字解析器在结果中产生意外的前导零
- 每次都出现意外结果
- 在 Qt 中解析嵌套的 JSON 时出现意外结果(数组不存在)
- 如何避免 std::abs 的意外结果?
- 声明双重给它一个值0,但打印结果意外变化