Просто мозговой штурм некоторых возможных подходов.
Соответствие шаблону
Метод грубой силы должен иметь растровое изображение того, как должен выглядеть регистрационный знак. Затем для каждого возможного прямоугольника в изображении, имеющего ту же ширину и высоту, что и растровое изображение шаблона, вы сравниваете пиксели изображения с пикселями шаблона. Если большинство соответствующих пикселей совпадают, вы, вероятно, нашли регистрационный знак. Это требует значительных вычислительных ресурсов, поскольку вам приходится сканировать все возможные позиции, повороты, масштабные коэффициенты и т. Д. Вы можете уменьшить это, используя преимущества известных вам вещей. Например, ваш регистрационный знак симметричен, поэтому вам не нужно проверять все возможные повороты. Возможно, вы знаете точный размер метки и, следовательно, можете избежать итерации по разным масштабным коэффициентам. Наконец, вы, возможно, знаете, что регистрационные знаки должны находиться рядом с углами и, следовательно, могут пропускать большую часть середины изображения.
Интересные моменты
Найдите способ идентифицировать "интересные точки" на изображении. Например, точки, которые кажутся в центре пересечения, могут быть найдены путем свертки с небольшим ядром, которое усиливает пиксели, которые имеют совпадающие пиксели в кардинальных направлениях, а затем пороговое значение результата. Это дает список пикселей, которые кажутся точками пересечения (может быть некоторый шум). Вы можете искать в этом подмножестве координат «созвездие», которое выглядит как пять точек пересечения в вашей регистрационной метке. Возможно, вам все равно придется применить сопоставление с шаблоном, чтобы найти наиболее вероятные позиции, но это значительно уменьшит количество местоположений, поворотов и масштабных коэффициентов, которые вам бы пришлось попробовать в противном случае.
Обнаружение функции
Существуют алгоритмы обнаружения линий, обнаружения кругов и т. Д. Возможно, вы сможете запустить их несколько, а затем искать комбинацию двух пересекающихся отрезков в пределах круга. Это может быть самый надежный способ, но, вероятно, труднее всего работать.
Некоторые этапы предварительной обработки, такие как детекторы бегущей кромки, пороговое значение или расширение, а также фильтры эрозии также могут помочь, если изображения не очень чисты с самого начала.