Итерация по двумерному массиву по значению заказа, возвращение индексов элементов

У меня есть объект 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# и таком типе программирования, мне было любопытно, могут ли быть более элегантные решения там.

0 ответов

Другие вопросы по тегам