我有一个OpenCV Sharp Mat对象,它是一个二维数组。我想按降序对它进行迭代,但是我想要值的坐标,而不是值本身。这样我就可以对返回的坐标进行一些矢量数学运算。我还只需要第一个 n 个值。
因此,对于以下形式的垫子:
| 1.2, 3.4, 5.6 |
| 7.3, 9.9, 1.2 |
| 8.9, 2.0, 5.3 |
我希望迭代器返回(假设索引为0)(1,1),(0,2),(0,1)...。
目前,我能想到的最佳解决方案是将Mat转换为具有由坐标和值组成的结构的一维数组,然后按值字段进行排序。但是,由于我是C#和此类编程的新手,所以我对是否可能存在更优雅的解决方案感到好奇。