Нахождение контуров на изображение 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Нахождение контуров на изображение



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

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

Рисунок 22 – Пример шума на изображении, полученной с камеры.

Определение первой точки, принадлежащей контуру осуществляется методом перебора, начиная с точки (0,0), которая находится в левом верхнем углу изображения, и заканчивается точкой (480,360), которая находится в нижнем левом углу. После нахождения первой точки, принадлежащей какому-либо контуру, начинается описание данного контура методом «Жука». Передвижение идет с черной области по направлению к белой. Если попадает на белый элемент, то он производит поворот налево и движется на следующий пиксель. На черном пикселе «Жук» производит поворот направо. Данные операции продолжаются до тех пор, пока курсор не вернется на начальный пиксель.

Рисунок 23 – пример работы алгоритма определения контура.

Далее после описания контура продолжается поиск первой точки. Нельзя забывать что некоторые точки уже отнесены к одному из контуров и они исключаются из данного поиска.

Таким образом после нахождения всех первый точек, было сформировано некоторое количество контуров, которые есть на данном изображении. Далее подбирается определенный критерий отсеивания контуров, попавших в данный перечень, как «шумы». Данным критерием является длина контуров, иначе говоря то количество точек, по которому прошел указатель. Так как шумы чаще всего имеют контуры состоящие из малого количества элементов, то можно ввести порог, больше которого будут отсеиваться шумы. Этот порог выбирается при помощи проведения ряда экспериментов, по которым можно будет собрать статистику и вычислить его.

Представлять кривую из набора точек с координатами (x,y) является не самым эффективным способом. Для удобства описания контура следует использовать цепной код (chain code). Данному способу кодировки изображения характерно использование векторов, которые соединяют две соседние точки. При использование цепного кода принято рассматривать область размерностью 3х3. Направления движения по контуру может варьироваться: либо 4, либо 8.

Рисунок 24 – а) 4 направления, б) 8 направлений.

Для четырех направленного цепного кода размер одного элемента составит всего 2 бита, а восьми направленного 3. Так же по данному алгоритму легко восстановить контур. К примеру контур «77121076667110076771122334» представлен на рисунке 24.

Рисунок 24 – представление контура при помощи цепного кода

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

После выделения всех контуров и отсеивания «шумов», был сужен круг пикселей, необходимых для корректной работы системы технического зрения. Так же был выбран оптимальный способ хранения контуров на устройстве. После выполнения данного алгоритма изображение претерпело ряд изменений, а именно были убраны шумы попавшие к нам после бинаризации изображения, полученного с камеры. Уменьшение количества пикселей участвующие в оценки определения координат объекта, поможет ускорить дальнейшую работу алгоритма по определению его центра. Результатом данного этапа является изображение контура приведенное на рисунке 25. Так как толщина этого контура не большое на изображение, этого может быть не достаточно для отображения. Но так как это является массивом данных, то после тщательного его изучения можно сделать вывод, что он не имеет разрыва.

Рисунок 25 – Результат определения контуров и отсеивания шумов.

 



Поделиться:


Последнее изменение этой страницы: 2016-06-26; просмотров: 519; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.144.81.21 (0.044 с.)