Эта проблема очень похожа на проблемы, с которыми я столкнулся в своей системе штрих-кода. Мой ответ - обобщенное описание метода, который я использую.
Я бы начал с деления изображения на сетку, где одна ячейка символа поместилась бы в одну ячейку сетки. Это обеспечило бы, что любой символ будет гарантированно помещаться в ячейку сетки 2x2, независимо от того, как сетка накладывает изображение.
Преобразование изображения в точках. Точки идентифицируются локальным идентификатором, используя небольшую область пикселей.
присваивать каждой точке номер ячейки сетки. это должно быть чем-то легким, как местоположение x/y, разделенное на 32 пикселя ячейки ((y/32) * (ширина/32)) + (x/32)
Держите подсчет точек на ячейку ячейки и когда все идентифицируются точки, сортировка таблицы точек по номеру сетки и построение индекса по смещению в таблице и количеству элементов.
Если разрешение варьируется, проведите несколько ячеек с большим количеством точек, чтобы определить расстояние между парами ячеек.
Посмотрите, если ячейки строят за строкой, но исследуйте каждую ячейку, используя группу ячеек 2x2. Таким образом, любая точка в тестируемой ячейке, как гарантируется, будет соответствовать парной точке (если таковая существует). Используя точки сетки, нужно только сопоставлять точки друг с другом, так что, хотя изображение может иметь тысячи точек, отдельные точки должны быть поставлены в соответствие с 1-10 точками.
Сопрягающие точки создадут дубликаты, которые могут быть предотвращены при согласовании или очистке позже.
На этом этапе вам нужно будет сопоставить точки с шрифтом Брайля. Горизонтальные пары пар и пары вертикальных пар должны иметь возможность начать выравнивание текста Брайля.
Как только линии выровнены, таблица пятна будет затем повернута в определяемое выравнивание текста. Пар будет помещен в выравнивание, а затем с позиции пары можно добавить несогласованные пятна, сопоставив местоположение сетки пары с непарными точками в таблице точек.
Я думаю, что масштабный коэффициент каждой относительной пары координат точек Брайля будет отличаться, потому что всякий раз, когда вы держите камеру, есть вероятность, что камера не будет идеально параллельна. Я имею в виду, что есть вероятность, что при удержании камеры будет какая-либо асимметрия по оси x, y и z. – anarchy99