04 декабря 2016

Поиск кругов с помощью OpenCV 3.1.0 в Visual Studio 2015 на С++

Для поиска кругов на изображении в OpenCV используется функция HoughCircles. В этой статье рассмотрен синтаксис и пример применения этой функции.

Прежде чем приступить к изучению этой функции необходимо создать и настроить проект в Visual Studio. Подробную инструкцию по установке и настройке OpenCV для Visual Studio 2015 вы можете найти здесь.

Функция HoughCircles находит круги на черно-белом изображении, используя преобразование Хафа [Подробнее на Википедии].

Теория

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

В нашем случае поиска окружностей радиуса R мы можем считать, что имеем дело с двухпараметрическим семейством кривых
(x-x_{0})^{2}+(y-y_{0})^{2}=R^{2}
и производить поиск максимума аккумуляторной функции A(x,y) в пространстве параметров (x,y). Заметим, что пространство параметров в этом случае практически совпадает с исходным (x,y). Поскольку все центров возможных окружностей радиуса R, проходящих через заданную точку, образует окружность радиуса R с центром в этой точке, функция отклика в преобразовании Хафа для поиска окружностей известного размера представляет собой окружность такого же размера с центром в голосующей точке. Максимум аккумулятора соответствует положению центра окружности на изображении.

Рассмотрим алгоритм обнаружения окружностей заданного радиуса на grayscale изображениях (градации серого), использующий оценку ориентации нормали в голосующих контурных точках. 
Первым шагом является обнаружение пикселей края, окружающих периметр объекта. Например, может использоваться оператор Собела [Википедия], дающий оценку амплитуды и направления градиента. Голосующими контурными точками считаются точки с большим модулем градиента. Для каждого обнаруженного краевого пикселя используется оценка положения и ориентации контура с целью оценки центра кругового объекта радиуса R путем движения на расстояние R от краевого пикселя в направлении нормали к контуру (то есть в направлении вектора-градиента). При повторении этой операции для каждого краевого пикселя, будет найдено множество положений предполагаемых точек центра, которое усредняется для нахождения координат центра.

Принцип обнаружения окружности неизвестного радиуса на полутоновом изображении методом голосования

Так как радиус окружности в общем случае является неизвестным или переменным, необходимо рассматривать R в качестве третьего параметра пространства-аккумулятора. В этом случае процедура поиска пика должна не только положение центра, но и радиус путем рассмотрения изменений вдоль третьего измерения параметрического пространства. Если требуется обнаружить только центр окружности, то можно обойтись без увеличения размерности пространства параметров. Тогда для каждого возможного направления на "центр" контурная точка голосует не точкой на расстоянии R, а лучом в этом направлении. Таким образом, будут рассматриваться все возможные положения центра при любом масштабе объекта, и это позволит рассматривать окружности независимо от их радиуса.
Принцип обнаружения окружности неизвестного радиуса в бинарном точечном множестве методом голосования
Вторым этапом анализа после обнаружения потенциальных центров окружностей, повторно обращаются к изображению для уточнения радиуса найденных окружностей. 

Синтаксис

Как было сказано, функция HoughCircles возвращает окружности, найденные на черно-белом изображении.
Для приложений на C++ синтаксис функции имеет следующий вид:

void HoughCircles(InputArray image, OutputArray circles, int method, double dp, double minDist, double param1=100, double param2=100, int minRadius=0, int maxRadius=0 )

Где параметры обозначают:
  • image – исходное 8-битное, одноканальное изображение в градациях серого.
  • circles – Массив найденных окружностей. Каждый вектор представляет из себя 3-х элементный массив чисел с плавающей точкой (x, y, радиус) .
  • method – Используемый метод нахождения окружностей. На данный момент реализован только метод CV_HOUGH_GRADIENT.
  • dp – Обратное отношение разрешения аккумулятора к разрешению изображения. Например, если dp= 1, то аккумулятор имеет то же разрешение, что и исходное изображение. Если dp = 2, аккумулятор имеет вдвое меньшую ширину и высоту.
  • minDist – Минимальное расстояние между центрами искомых окружностей. Если значение параметра слишком мало, то возможно нахождение нескольких кругов при одном истинном. Если оно слишком велико, некоторые круги могут быть пропущены.
  • param1 – Первый параметр метода. В случае CV_HOUGH_GRADIENT, это более верхний порог из двух для оператора Canny() (детектор края), нижний порог в два раза меньше.
  • param2 – Второй параметр для метода. В случае использования CV_HOUGH_GRADIENT, это пороговое значение аккумулятора для центров окружностей. Чем меньше это значение, тем больше вероятность обнаружения ложных кругов. Круги, соответствующие большим значениям аккумулятора, будут возвращены в первую очередь.
  • minRadius – Минимальный радиус окружности.
  • maxRadius – Максимальный радиус окружности.

Пример


Список литературы


3 комментария :

  1. VarangaOfficial - варанга в аптеке цена спб - все, что бы хотели знать об этом препарате. Воспользовавшись данным ресурсом, вы сможете узнать наиболее полную информацию касающуюся представленного средства. Увидеть данные о проведенных клинических тестированиях, прочитать реальные отзывы пациентов и врачей, использующих крем в своей лечебной практике. Изучить инструкцию по применению, прочитать особенности и методы работы мази, уяснить, почему крем Варанга настолько эффективен, где необходимо заказывать сертифицированный, оригинальный препарат и, как не нарваться на подделку. Мы скурпулезно проверяем публикуемые данные. Предоставляем посетителям нашего онлайн-ресурса сведения, которые берутся исключительно из авторитетных источников. Если вы обнаружили у себя признаки развития грибка или же долго и безрезультатно пытаетесь избавиться от этого коварного недуга, на нашем сайте вы отыщете быстрый и легкий способ устранения проблемы. Присоединяетесь и живите полноценной, здоровой жизнью. Теперь все ответы на самые популярные и волнующие пользователей вопросы, собраны на одном ресурсе.

    ОтветитьУдалить
  2. Бесплатный секс-видеочат с кисками 35 - это порно-контент для хобби, онлайн-портал, который позволяет посетителям общаться с женщинами, и, кроме того, это возможность полностью заняться виртуальным сексом с помощью аудио или видео, которые передаются через веб-камеру. В этом видеочате взрослые дамы готовы выслушать и реализовать любое желание, любую прихоть или стремление, которые не каждая женщина в реальной жизни готова реализовать для постоянных посетителей в ритме реальной жизни (онлайн в своих интимных видео-шоу. Хотите отличных впечатлений, от которых у вас мурашки пойдут по коже? Свяжитесь с нашей платформой продаж и выберите женщин старше 35 лет, которые только и ждут, чтобы порадовать и удивить слушателей своим чувственным телом, которое доставит вам бездну удовольствия!, Интимный просмотр дарит не только положительные впечатления, но и они все время задерживаются в жизни, что открывает сладкие ощущения на долгие годы. Порно видео со зрелыми женщинами, может стать хитом в какой-нибудь коллекции!, Бунтарская и страстная модель, которая просто хочет произвести впечатление на пользователя эстетичным телом, чтобы не дать вам остаться равнодушными! Захватывающий фантастический секс или нежность, маршруты с личными секс-аксессуарами или завораживающие позы, развратные взрослые дамы могут делать все, что вы хотите. После вирта с этой очаровашкой, в то же время вы никогда не потеряете шанс устоять и вернуться за большим! Ведь стильные девушки с лучшими дойками рады подарить вашим требованиям поистине неподдельное удовольствие, которое проникнет клиента до кончиков пальцев. Времяпровождение, которое вы запомните надолго, - это изучение секс-видео с женщинами в возрасте! Девушки старшего поколения готовы предоставить вам только самые точные представления об отличном сексе, неизмеримом кайфе и оправданных нормальных оргазмах. Девушки всегда готовы продемонстрировать это практически, что вы можете не только возбуждаться, параллельно они будут наслаждаться самим процессом. Часто клиенты сервиса чата для взрослых будут принадлежать к этой категории представителей сильного пола, они категорически не проявляют к ним большого внимания в своем повседневном существовании, как бы нам всем ни хотелось. В нашем каталоге таких разделов нет, любой пользователь получит внимание. Любой клиент будет не только выслушан одновременно, он даст великолепное эротическое представление!, Для людей, которые устали от стандартов красоты, и тех, кто хочет отдохнуть один день среди группы девушек пышных форм, в этом случае вам нужно зайти в "рунетки". Версии с объемными телами готовы показать вам некоторые варианты и эстетику, создавая невероятные эротические шоу во время прямой трансляции. Они будут рады пообщаться с вами и оставить яркие впечатления о нашем сайте. Вы поймете множество бонусов за онлайн-общение для больших. Когда вы дорожили этой цифрой и, естественно, хотели бы получить больше данных о порно чат со зрелыми женщинами Пожалуйста, посетите нашу собственную страницу.

    ОтветитьУдалить
  3. Категории включают любые мфо, в которых удобно отправить онлайн-заказ и почувствовать быстрый микрозайм на банковскую карту, через систему contact, на кошелек киви или наличными. Вердикт по предоставлению принимается в вирте на платформе имен, заполненной анкеты и для отдельных ситуаций, дополнительной проверки в порядке звонков клиенту и контактным лицам, связывания покера и предоставления фотодокументов. Период проверки составляет от 5 минут до нескольких часов, в зависимости от эффективности работы и типа проверки (вручную или автоматически). Суммы до 30 тысяч рублей доступны для займов “до зарплаты”, до ста тысяч - для долгосрочных кредитов. Оценки мфо (микрофинансовых организаций и mcc) в топ-кредитах обновляются на основе поступающей информации, новостей, рекламных акций, изменений в деятельности мфк. На основании чего формируется рейтинг мфо (ifc)? 1. Признаки, по кредиту (процентная ставка, возможность досрочного погашения, продление, возраст, документы) 2. Минимальные и максимально возможные ограничения для вновь созданных и систематических заемщиков, наличие долгосрочных тарифов. 3. Наличие специальных поз и бонусов (например, бесплатный первый кредит), бонусов, программ помощи 4. Удобство получения, контроля и погашения кредита. Рейтинг услуг 5. Информация в интернете - об организации, о профессиональном опыте, отзывы должников, отзывы об использовании букмекерской конторы 6. Когда вы дорожили этим материалом, и игрок спокойно хотел бы получить больше информации о Новые МФО Пожалуйста, посетите нашу собственную страницу.

    ОтветитьУдалить