Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Компьютерное зрение (платный раздел). arrow Компьютерное зрение. Урок 16. Детектор Кэнни.
18.07.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Компьютерное зрение. Урок 16. Детектор Кэнни. Печать E-mail
Автор megabax   
10.07.2016 г.
New Page 1

Компьютерное зрение. Урок 16. Детектор Кэнни.

Чтобы смотреть урок полностью, а также скачать исходники к уроку, подпишитесь на платный раздел.

В платном разделе статья находится здесь.


На прошлом уроке мы рассмотрели метод выделения краев на изображении. Какие недостатки у этого метода? Давайте посмотрим картинку:

Компьютерное зрение. Урок 16. Детектор Кэнни.

Во-первых, края слишком толстые, во вторых, не хватает информации о связности, какой край какому контуру соответствует, к тому же в некоторых местах края прерываются. Прежде чем улучшить наш алгоритм, давайте более детально сформулируем задачу. Какой должен быть идеальный детектор краев (по каким критериям будем оценивать его качество):

  • Надежность. Количество ошибок (ложные края, пропущенные края) необходимо свести к минимуму.

  • Точная локализация. Найденный край должен быть как можно ближе к истинному краю.

  • Единственный отклик. Детектор должен выдавать только одну точку для одной точки истинного края.

  • Связность. Необходимо знать, какие пиксели принадлежат одной линии края.

Изобразим это графически. Вот так, допустим, выглядит идеально выделенный край:

Компьютерное зрение. Урок 16. Детектор Кэнни.

Вот так если детектор плохо устойчив к шуму:

Компьютерное зрение. Урок 16. Детектор Кэнни.

Так выглядит плохая локализация краев:

Компьютерное зрение. Урок 16. Детектор Кэнни.

Так множественный отклик:

Компьютерное зрение. Урок 16. Детектор Кэнни.

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

Если кратко описать суть алгоритма, по которому работает детектор Кэнни, то получим несколько простых шагов:...

...

...

Итак,  если изображение будет слегка зашумленное:

Компьютерное зрение. Урок 16. Детектор Кэнни.

В этом случае надежно выделить края не получится:

Компьютерное зрение. Урок 16. Детектор Кэнни.

...

...

...

Компьютерное зрение. Урок 16. Детектор Кэнни.

Как видим, шум исчез, но контур теперь стал прерывистым. Посмотрим его в увеличенном виде:

Компьютерное зрение. Урок 16. Детектор Кэнни.

...

...

Теперь реализуем алгоритм поиска локальных максимумов:

        /// <summary>

        /// Определение локальных максимумов в градиенте

        /// </summary>

        /// <returns>Кадр, где выделены локальные максимумы</returns>

        public RGBFrame local_maxima()

        {

            RGBFrame res = new RGBFrame(width, height);

            for (int i = 0; i < width-1; i++)

            {

                for (int j = 0; j < height-1; j++)

                {

                   

...

...

...

 

...

...

...

...

 

Последнее обновление ( 10.07.2016 г. )
 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше