Если я правильно понимаю ваш вопрос (особенно «Редактировать 2»), вы хотите выполнить поиск круговых рисунков в цифровом изображении с камеры или сканера.
Как уже сказал РобС, грубое преобразование и сопоставление с шаблоном в спектре Фурье являются хорошими способами сделать это. Вы, вероятно, найдете много библиотек для грубого преобразования или FFT, но я не уверен, что вы сможете использовать одну из них, не понимая алгоритмов. Например: стандартное грубое преобразование работает только для линий, оно должно быть адаптировано для кругов. Кроме того, требуется некоторая предварительная обработка, чтобы найти края круга. У него есть несколько параметров (размер внутреннего пространства параметров), которые трудно настроить, если вы не знаете, что они означают.
Если вы можете преобразовать изображение в двоичную форму, т. Е. Если искомые круглые узоры значительно ярче или темнее фона, возможно, будет проще
- Бинаризация изображения
- Сгруппировать связанные области пикселей или Blobs (например, используя Flood-Fill)
- Решите, является ли BLOB-объект одним из ваших шаблонов, сравнив некоторые его характеристики (например, общую площадь, количество граничных пикселей, среднюю яркость, средний контраст) с типом шаблона, который вы ожидаете
Ни одна из этих подзадач (бинаризация, сегментация, сопоставление с образцом) в общем не проста и даже не решаема, но если ваша проблема достаточно проста, вы можете просто обойтись без нескольких очень простых алгоритмов.