Использование пороговых фильтров в OpenCV

Описание применения пороговых фильтров на примере использования функций cvThreshold и cvAdaptiveThreshold. Принцип действия фильтра границ и контуров на основе оператора Кэнни. Выделение монохромного изображения с использованием адаптивного подхода.

Рубрика Производство и технологии
Вид статья
Язык русский
Дата добавления 02.02.2019
Размер файла 919,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Использование пороговых фильтров в OpenCV

И.А. Ширабоков, А.В. Щелканов, И.М. Чумаченко

Аннотация

Описаны некоторые области применения пороговых фильтров на примере использования функций cvThreshold и cvAdaptiveThreshold. Функция cvAdaptiveThreshold выделяет монохромное изображение не путём задания порога, как cvThreshold, а с использованием адаптивного подхода. Представлено несколько примеров распознавания объектов на изображении с помощью данных пороговых фильтров. Рассмотрен принцип действия фильтра границ и контуров на основе оператора Кэнни.

Ключевые слова - OpenCV, бинаризация, обработка изображений, распознавание. кэнни фильтр adaptivethreshold

ВВЕДЕНИЕ

Изображение - это массив пикселей. Множество задач обработки изображений связаны с выбором пикселей выше (ниже, между) определенного порогового значения. Для решения этой задачи в OpenCV[1] существует функция cvThreshold. Идея алгоритма, положенного в основу этой функции, состоит в том, что в конечный массив попадают только те элементы, которые выше или ниже некоторого числа. На вход cvThreshold должно поступать одноканальное изображение (градации серого), т.к. пороговое преобразование работает с яркостью. Но при необходимости можно обработать и RGB-картинку. Для этого ее сначала стоит разбить на слои (cvSplit), провести пороговое преобразование над каждым слоем и сложить слои вместе (cvMerge)[2].

Альтернативой cvThreshold является функция cvAdaptiveThreshold. Она представляет собой интерфейс для выделения монохромного изображения не путем задания порога, как cvThreshold, а с использованием адаптивного подхода. Обычное пороговое преобразование не учитывает, что части объектов могут иметь различную яркость из-за разности в освещенности.

В таких случаях оптимальным вариантом будет использование адаптивного порогового преобразования. Оно рассматривает значение не в одном пикселе, а в его окрестностях. Это значение может быть просто средним значением пикселей окрестности (CV_ADAPTIVE_THRESH_MEAN_C), либо пиксели окрестности умножаются на весовой коэффициент в соответствии с функцией, например, с гауссовой функцией (CV_ADAPTIVE_THRESH_GAUSSIAN_C) .

Отдельный класс фильтров - фильтрация границ и контуров. Контуры очень полезны, когда мы хотим перейти от работы с изображением к работе с объектами на этом изображении. Когда объект достаточно сложный, но хорошо выделяемый, то зачастую единственным способом работы с ним является выделение его контуров. Для этого существует целый ряд алгоритмов, решающих задачу фильтрации контуров. Мы рассмотрим только операторы, реализация которых поддерживается в OpenCV. Оператор Кэнни (cvCanny) использует многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях[3]. Для удаления шума используется размытие изображения. Оператор Кэнни использует фильтр, который может быть хорошо приближен к первой производной гауссианы с параметром = 1.4:

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

Угол направления вектора градиента округляется и может принимать значения 0, 45, 90, 135 градусов. Как и в большинстве других методов обработки изображения, перед применением cvCanny изображение преобразуют в оттенки серого, чтобы уменьшить вычислительные затраты. Для обнаружения границ и контуров используется оператор Собеля. Он представляет собой более неточное приближение градиента изображения, но он достаточно качественен для практического применения во многих задачах. Оператор использует значения интенсивности только в окрестности 3х3 каждого пикселя для получения приближения соответствующего градиента изображения, и использует только целочисленные значения весовых коэффициентов яркости для оценки градиента. Нахождение интенсивности пикселей реализуется с помощью оператора Собеля с ядрами Gx и Gy:

Gx и Gy -- две матрицы, где каждая точка содержит приближенные производные по x и по y. По значениям Gx и Gy вычисляется магнитуда градиента по формуле:

и направление градиента по формуле

ОСНОВНАЯ ЧАСТЬ

Рассмотрим несколько способов нахождения необходимых объектов на изображении. Возьмем простой вариант, где надо обнаружить некий белый объект на изображении (в нашем случае это банка из под таблеток рис.1). Первым действием будет бинаризация по белому цвету (cvThreshold, cvAdaptiveThreshold).

Рисунок 1.1 CvAdaptiveThreshold

Рисунок 1.2 CvThreshold

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

Рисунок 2.1 Оригинал

Рисунок 2.2 cvCanny

Рассмотрим еще один простой пример - распознавание текста. Использование метода распознавание текста с использованием контуров в случае зашумления и искажения контуров работает неудовлетворительно. Конечно, существуют методы распознавания текста на базе нейронных сетей, но они достаточно сложны. Поэтому рассмотрим метод, основанный на сравнении с шаблоном. Как и в случае обнаружения белого объекта, изначально, с помощью функции cvThreshold, надо привести изображение к монохромному.

Рисунок 3.1 cvAdaptiveThreshold

Рисунок 3.2 cvThreshold

Далее выделим контуры (cvFindContours,cvCanny). Как правило, будет много разного шума, но зная приблизительные размеры букв, его можно будет частично удалить.

Рисунок 4.1 Оригинал

Рисунок 4.2 cvCanny

Следует избавиться от ненужных контуров. Для этого необходимо пройтись по всей цепочке контуров, проверяя размеры каждого и смещая циклы. После функции cvFindContours вставить следующий блок кода:

CvSeq* h_next=0;

for( CvSeq* c=contours; c!=NULL; c=c->h_next )

{

if (c!=contours)

{

if (c->total<=100) //размер удаляемых контуров

{

h_next->h_next=h_next->h_next->h_next; //удаляем мелкиеконтуры

continue;

}

}

h_next=c;

}

if (contours->total<=100) contours=contours->h_next;

Избавившись от ненужных контуров, используем функцию cvBoundingRect и получаем области нахождения символов. Далее составляем шаблоны в виде массивов для необходимых символов (букв, цифр). Теперь для сравнения остается лишь привести найденную область к размеру шаблона или же наоборот.

ЗАКЛЮЧЕНИЕ

Почти любая операция, связанная с распознаванием образов, начинается с применения пороговых фильтров. В OpenCV для пороговой фильтрации используются функции cvThreshold и cvAdaptiveThreshold. Функция cvAdaptiveThreshold полезна в условиях сильной засветки или наличия отражающих областей на изображения, когда необходимо провести пороговую фильтрацию относительно градиента освещенности. Найти искомые объекты для сравнения с эталоном позволяют фильтры границ и контуров, например, фильтр Кэнни (cvCanny), использующий многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ширабоков И.А., Щелканов А.В. Современные библиотеки компьютерного зрения. // Информационные технологии в науке и производстве, Омск, 2015. С. 196-201.

2. Dr. GaryRostBradski. Learning OpenCV / Dr. Gary RostBradski, Adrian Kaehler, 2008. - 556 c.

3. Canny J. A Computational Approach to Edge Detection. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1986. Vol. PAMI-8. PP. 679 - 698.

4. OpenCV 2 Computer Vision Application Programming Cookbook / Robert Laganiиre, 2011. - 298 c.

5. Lowe D. G. Distinctive Image Features from Scale-Invariant Keypoints // Int. J. of Computer Vision, 2004. V. 60. № 2.

6. Bay H., Tuytelaars T., Van Gool L. SURF: Speeded Up Robust Features // Proc. 9th European Conf. on Computer Vision. Graz, Austria, 2006. V. 3951.

7. Hirschmuller H. Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information // IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008. V. 30. № 2.

8. Dalal N., Triggs B. Histograms of oriented gradients for human detection // IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005.

Размещено на Allbest.ru

...

Подобные документы

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

    контрольная работа [21,1 K], добавлен 10.07.2010

  • Конструирование функций передачи фильтров. Синтез базовой матрицы низкочувствительных и квазилестничных, режекторных фильтров. Методика разработки принципиальной схемы и ее анализ методом Монте-Карло, подходы к определению динамических перегрузок.

    курсовая работа [3,0 M], добавлен 25.12.2011

  • Применение сетевых помехоподавляющих фильтров на производстве. Амплитудно-частотная характеристика фильтров. Виды индуктивностей или проходных конденсаторов. Специфика работы дросселей на высоких частотах. Подавление помех в цепях электропитания.

    курсовая работа [490,8 K], добавлен 27.04.2016

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

    реферат [496,5 K], добавлен 07.09.2011

  • Проектирование четырех типов активных фильтров: нижних и высоких частот четвертого порядка, полосового и заграждающего. Работоспособность и соответствие поставленным требованиям. Применение в электронных устройствах, средствах связи, источниках питания.

    курсовая работа [1,7 M], добавлен 03.04.2009

  • Разработка блок-схемы алгоритма расчета на ЭВМ барабанного вакуум-фильтра производительностью 2850 кг/сут. сухого осадка. Виды нутч-фильтров. Дисковые и карусельные вакуум-фильтры. Применение фильтр-прессов для разделения суспензий. Блок-схема процесса.

    курсовая работа [2,3 M], добавлен 24.10.2012

  • Устройства для сбора и отведения промывной воды фильтровальных аппаратов. Установление интенсивности промывки и относительного расширения слоя загрузки как основная задача при расчете промывки фильтров. Системы поверхностных промывок скорых фильтров.

    реферат [1,5 M], добавлен 09.03.2011

  • Характеристика и функциональные особенности распылительных сушилок, их внутреннее устройство и принцип работы. Сравнительное описание различных конструкций, их преимущества и недостатки. Вспомогательное оборудование, расчет рукавных фильтров, калорифера.

    курсовая работа [1,0 M], добавлен 18.03.2016

  • Конструктивное выполнение машин постоянного тока, их основные узлы, принцип действия. Характеристики ДТП, специфика их пуска. Особенности использования принципа параллельного возбуждения. Описание двигателей смешанного возбуждения и сфера их применения.

    реферат [1,2 M], добавлен 31.03.2014

  • Изучение основных функций активации (пороговой, линейный, сигмоидный) элементов нейронных сетей и правил их обучения (Больцман, Хебб) сетей с целью разработки метода автоматизации процесса металлизации на базе адаптивного нейросетевого подхода.

    дипломная работа [305,8 K], добавлен 31.05.2010

  • Характеристики, эксплуатация и обслуживание водоотделительного и топливного фильтра SEPAR. Техническая основа устройства. Ступени очистки топлива. Фильтры-водоотделители вертикальные ФВВк и ФВВк-У. Пример сокращенного обозначения фильтров-водоотделителей.

    реферат [784,3 K], добавлен 31.05.2017

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

    курсовая работа [2,3 M], добавлен 01.10.2016

  • Изучение особенностей применения высоконагруженных биологических фильтров для биологической очистки сточных вод. Порядок расчёта вертикального и радиального вторичного отстойника после биофильтров. Проектирование разбрызгивателей и реактивных оросителей.

    контрольная работа [436,1 K], добавлен 03.11.2014

  • Разработка технологической схемы очистки сточных вод. Приготовление и дозирование раствора реагента. Применение полиакриламида для интенсификации процессов осветления и обесцвечивания воды. Использование безнапорных фильтров с зернистой загрузкой.

    дипломная работа [2,2 M], добавлен 18.12.2014

  • Назначение, устройство и принцип действия механизма. Алгоритм развития повреждений. Выбор и расчет подшипников вала звездочки (подшипник качения). Определение границ использования машины с точки зрения проведения технического обслуживания и ремонтов.

    курсовая работа [751,5 K], добавлен 23.07.2013

  • Аппроксимация частотной характеристики фильтра. Порядок, нули и полюсы ФНЧ-прототипа и синтезируемого фильтра. Реализация аналогового фильтра. Гираторная реализация безиндуктивного фильтра. Сравнительная характеристика реализаций синтезируемого фильтра.

    курсовая работа [748,4 K], добавлен 21.11.2014

  • История появления кондиционеров, принцип работы. Конденсация паров фреона и выделение тепла. Ротационные компрессоры вращения, принцип действия. Неисправности компрессора и их причины. Нарушение герметичности контура. Основные признаки утечки хладагента.

    контрольная работа [224,0 K], добавлен 08.11.2012

  • Понятие и назначение реечного толкателя, его структура и основные элементы, принцип действия и возможности. Физическая и математическая модель перемещения заготовок. Составление передаточных функций и структурной схемы с использованием VisSim v 5.0.

    контрольная работа [416,9 K], добавлен 04.05.2010

  • Области применения карьерного самосвала БелАЗ-7555В, его конструктивное исполнение. Выбор гидроцилиндра, гидромотора, насоса, направляющей аппаратуры, регулирующей аппаратуры, фильтра и бака. Гидравлический расчет трубопроводов и гидроцилиндра.

    курсовая работа [1,2 M], добавлен 02.06.2021

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

    курсовая работа [117,4 K], добавлен 08.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.