Как я могу выровнять распределение координат по идеальному выравниванию?

У меня есть группа координат, которые в одном направлении для примера:

Координаты для вертикальной проекции: 8,15; 9,27; 10,40; 7,55; 5,68.

Координаты для горизонтальной проекции: 8,27; 20,28; 36,26; 51,25; 64,27;

Как можно выровнять координаты в вертикальной проекции и горизонтальной проекции, чтобы для всех координат вертикальной проекции было одно значение X, например: 8,15; 8,27; 8,40; 8,55; 8,68. и для горизонтальной проекции имеют одинаковое значение Y, например: 8,28; 20,28; 36,28; 51,28; 64,28?

шрифт Брайля
Я уже обнаружил координаты для каждой точки на изображении, но координаты не идеально выровнены (см. Пример координат выше).

Вот почему мне действительно нужно какое-либо предложение, как я могу выровнять эти обнаруженные точки в идеальное выравнивание для каждой линии (как выделено цветами).

Я когда-либо слышал об анализе основных компонентов, но я не знаю, с чего начать, если я использую PCA, потому что вряд ли есть хороший пример для выравнивания координат.

Если есть какие-либо другие хорошие рекомендации, я действительно надеюсь, что кто-то хотел бы поделиться ими.

Любая помощь будет принята с благодарностью. Спасибо

1

Решение

Ммм, так как вы используете OpenCV, вы можете быть заинтересованы в этом подходе, который основан на матричных манипуляциях в пиксельном масштабе:

1) Создайте двоичное изображение (черно-белое), поэтому вы инициализируете черное изображение (или просто нулевую матрицу нужного размера).

2) Поскольку у вас уже есть несортированные баллы (и, следовательно, индексы матрицы), вы можете сделать цикл for. Таким образом, для каждой точки вы меняете цвет пикселя в двоичном изображении на белый. Если вам нужно позаботиться о памяти, вы можете использовать разреженную матрицу.

3) Чтобы получить отсортированный список по x или y, вы просто проходите через соответствующую строку / столбец вашего двоичного изображения и возвращаете столбец / строку каждого белого пикселя.

В результате вы получите хорошее двоичное изображение и ваши отсортированные точки.

редактировать: Так как вы хотите выполнить некоторое усреднение в одном компоненте, это может быть обработано булевым выражением, так что вы устанавливаете один coodinate в желаемом диапазоне на конкретное значение. Второе решение состоит в том, что вы поворачиваете входное изображение перед извлечением точек. В OpenCV повороты уже реализованы, вам нужно только выяснить угол.

Приветствия TL

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]