*   >> Чтение Образование Статьи >> science >> programming

Подключенные компоненты Использование OpenCV

он и каждый контур представлен список вершин этой полигона Обновленный код здесь

<р> Последовательности и OpenCVOpenCV использует тип CvSeq построить последовательности объектов В CvSeq есть 4 указатели:... h_next , h_prev, v_next электронной v_prev, что точка с другими последовательностями. h_next и h_prev точка в последовательности на том же уровне и v_next и v_prev точек последовательностей, на других уровнях.

В нашем случае это здорово: на первом уровне находятся внешние контуры, связанных компонентов и на второго уровня контуры отверстий каждого компонента

<р> Рисование связные компоненты мы завершим пример. покраска подключения компонентов на новое изображение. Мы используем функцию cvDrawContours. Добавить следующее после последнего кода. Обновленный код здесь.

для (PTR = контуров; PTR = NULL;! PTR = ptr-> h_next) {CvScalar цвет = CV_RGB (RAND () & 255, RAND () и 255 рандов (,) & 255); cvDrawContours (cc_color, PTR, цвет, CV_RGB (0,0,0), -1, CV_FILLED, 8, cvPoint (0,0)); }

И что это! Теперь скомпилировать программу и запустить ее с этого образа. Вы должны получить первое изображение как результат :) Больше задач с подключенных компонентов Есть другие общие задачи, связанные с подключенных компонентов. Я перечислю три из них: Получить ограничительную рамку компонента

Мы используем функцию cvBoundingRect.

Он получает CvSeq или CvContour и другой параметр, который просит, если коробка должна быть пересчитана

(1), или если вы можете взять значение из CvContour

(0). Она возвращает CvRect, который содержит 4 атрибуты: X, Y, ширина электронной высоту. Приблизительная компонент полигоном

Мы можем использовать cvApproxPoly, что приближается контур многоугольником. Это делается при использовании CV_CHAIN_APPROX_SIMPLE, но я не знаю, если используется тот же метод.

Test, если точка находится внутри связной компоненты

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

<Р> Вывод

<р> Это только введение о том, как работать с подключенными компонентами.

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

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.