Вы можете попробовать использовать детектор углов (например, Харриса), чтобы найти углы коробки, концы и пересечение X. Это упрощает задачу поиска точек в правильной конфигурации.
Править(ответ на комментарий):
Я предполагаю, что вы можете найти угловые точки на вашем изображении, 4 угла прямоугольника, 4 окончания линии X и центр X, а также несколькодругие углы изображения из-за шума или объектов на заднем плане.Это упрощает задачу поиска набора из 9 точек в правильной конфигурации из заданного набора точек.
Моей первой попыткой было бы посмотреть на каждую угловую точку A. Затем я бы перебрал точки B, близкие к A. Теперь, если предположить, что (например) A - это верхний левый угол прямоугольникаB - нижний правый угол, я могу легко вычислить, где я ожидаю, что другие угловые точки будут на изображении.Я бы воспользовался поиском ближайшего соседа (или библиотекой, подобной FLANN), чтобы узнать, есть ли углы, где я их ожидаю.Если я смогу найти набор точек, который соответствует этим ожидаемым позициям, я знаю, где будет находиться символ, если он присутствует на изображении.
Вы должны попробовать, если это достаточно хорошо для вашего приложения.Если у вас слишком много ложных срабатываний (наборы углов других объектов, которые случайно образуют прямоугольник + X), вы можете проверить, есть ли линии (т.е. высокая контрастность в правильном направлении) там, где вы ожидаете их.И вы можете проверить, есть ли низкий контраст, где нет линий в шаблоне.Это должно быть относительно просто, если вы знаете точки на изображении, которые соответствуют углам / концам линий в искомом объекте.