Бинарное компьютерное зрениеСайт курса:http://cvbeginner.blogspot.com/1
Из прошлой лекции…Бинаризация по порогуАлгоритмы выделения краевМасочные операцииСвязанность областей2
Бинарное изображение3
ПримененияИспользуется для оценки параметров сегментированных объектовТрассировки объектовВ качестве маски4
Логические операцииК бинарным изображениям применимы все операции классической логикиИ (AND)ИЛИ (OR)Исключающее ИЛИ (XOR)Отрицание (NOT)5
Логическое ИЛИ (OR)6Matlab:	A = B|COpenCV:cv::Mat a = b|c;
Логическое И (AND)7Matlab:	A = B&COpenCV:cv::Mat a = b&c;
Исключающее ИЛИ (XOR)8
Отрицание (NOT)9
Маскирование10
Морфологические операцииСтык теории множеств и интегральной геометрииИмеется:Некоторое множество XСтруктурный элемент BСтруктурный элемент определяется формой и размеромОперация переноса:11
Эрозия12Matlab
imeride(BW);
OpenCV
void erode( const Mat& src, Mat& dst, const Mat& element);Эрозия13
Дилатация14Matlab
imdilate (BW);
OpenCV
void dilate ( const Mat& src, Mat& dst, const Mat& element);Дилатация15
Свойства Эрозии и ДилатацииКоммутативный законАссоциативный закон16
Открытие (Размыкание)17Matlab
imopen (BW);
OpenCVvoid morphologyEx( const Mat& src, Mat& dst, MORPH_OPEN, const Mat& element);
Открытие (Размыкание)18
Закрытие (Замыкание)19Matlab
imclose (BW);
OpenCVvoid morphologyEx( const Mat& src, Mat& dst, MORPH_CLOSE, const Mat& element);
Закрытие (Замыкание)20
Попадание-промах21
Утончение22
Построение скелета области23
АлгоритмИтеративное утончениеПока изображение изменяетсяПрименять морфологическую операцию утончениеЧерез DT (далее)MatlabSkel = bwmorph(BW,'skel',Inf);OpenCVСм. DT24
Скелетонизация25
Связанные области26
Рекурсивный алгоритм построения связанных областейvoid Labeling(BIT* img, int* labels){// labels должна быть обнуленаL = 1;for(y = 0; y < H; y++)for(x = 0; x < W; x++){Fill(img, labels, x, y, L++);}}27
Рекурсивный алгоритм построения связанных областейvoid Fill(BIT* img[], int* labels[], int x, int y, int L){if( (labels[x][y] = = 0) && (img[x][y] = = 1) ){labels[x][y] = L;if( x > 0 )Fill(img, labels, x – 1, y, L);if( x < W - 1 )Fill(img, labels, x + 1, y, L);if( y > 0 )Fill(img, labels, x, y - 1, L);if( y < H - 1 )Fill(img, labels, x, y + 1, L);}}28Вопрос: В чем минусы?
Двухпроходный алгоритмЕсли A = OНичего не делатьИначе если B=0и C=0	Увеличить счетчик областей и присвоить его значение AИначе если B xor C = 1	Копировать значение в AИначе если B!=0 и C!=0Если B = CКопировать значение в AИначе	Записать значение B или C в A; зафиксировать эквивалентность B и С29
Что делать?30
Пример маркировки31
Пример маркировки32
РеализацияMatlabL = bwlabel(BW); RGB = label2rgb(L);OpenCVvoid findContours( const Mat& image, vector<vector<Point> >& contours,vector<Vec4i>& hierarchy, CV_RETR CCOMP, CV_CHAIN_APPROX_NONE);void drawContours( Mat& image, const vector<vector<Point> >& contours,intcontourIdx, const Scalar& color, CV_FILLED);33
Дерево связанных областей34
Пример трассировка животных35
ПерерывВопросы?36
Distance transform (DT)Определение расстояния до ближайшего «белого пикселя»37"2D Euclidean distance transforms: a comparative survey", ACM Computing Surveys, Vol 40, Issue 1, Feb 2008
Алгоритм (DT)Простейший алгоритм – N проходовПервый проход помечает края 0На втором помечаем все граничащие с 0 пикселикак 1И т.д.Существует двухпроходный алгоритм38
Distance transform иллюстрация39L2L1~L2L0
РеализацияMatlabbwdist(~BW,'euclidean')bwdist(~ BW,'cityblock')bwdist(~ BW,'chessboard')bwdist(~ BW,'quasi-euclidean')OpenCVvoid distanceTransform( const Mat& src, Mat& dst, intdistanceType, intmaskSize );40
Описание бинарных компонентДля сравнения между собой или с шаблономТребования к описанию:Инвариантность относительно размераИнвариантность относительно поворотаИнвариантность относительно сдвига41
Определение центра масс42ПлощадьЦентр масс
Определение осей и их направления43Собственными векторами матрицы covбудут направления полуосей осей эллипсаСобственными числами – длины полуосей
Моменты пример44OpenCVMoments cv::moments(const Mat& array, boolbinaryImage=false );
Моменты Hu45OpenCV	void HuMoments( const Moments& moments, double h[7] );
Нахождение контура Внутренний контурВнешний контур46
Описание контура Код последовательности (Freeman)47
Описание контура Распределение расстояния до цента48
Сравнение контуровOpenCVdouble matchShapes( const Mat& object1,const Mat& object2,int method, double parameter=0 );49
Граф Риба50
Недостатки графа Риба51

More Related Content

PPTX
Лекция 8 Основы 3D обработки
PPTX
Лекция 2
PPTX
Лекция 3 Сегментация
PPTX
L06 detection
PPTX
L05 features
PPTX
Лекция 07 Обработка видео
PDF
Методы удаления артефактов в видео
PDF
CV2011-2. Lecture 05. Video segmentation.
Лекция 8 Основы 3D обработки
Лекция 2
Лекция 3 Сегментация
L06 detection
L05 features
Лекция 07 Обработка видео
Методы удаления артефактов в видео
CV2011-2. Lecture 05. Video segmentation.

What's hot (20)

PDF
CV2011-2. Lecture 02. Photomontage and graphical models.
PDF
CV2011-2. Lecture 06. Structure from motion.
PDF
CV2011-2. Lecture 03. Photomontage, part 2.
PDF
Устранение размытости видео
PPT
распознавание автомобильного номера в условиях зашумлённости»
PDF
CV2011 Lecture 12. Action recognition
PDF
CV2011 Lecture 11. Basic video
PPT
Поиск объектов
PDF
20091115 algorithmsfornphardproblems kulikov_lecture09
PDF
CV2011 Lecture 5. Features
PPTX
Советский суперкомпьютер К-340А и секретные вычисления
PDF
CV2011 Lecture 8. Detection
PDF
CV2011 Lecture 10. Image retrieval
PDF
CV2011 Lecture 6. Fitting
PPT
Definite integral
PDF
CV2011 Lecture 4. Image representation
PPT
Подобедов: Абстрактный Детерминизм
PDF
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
PDF
TMPA-2013 Dmitry Zaitsev
PDF
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 03. Photomontage, part 2.
Устранение размытости видео
распознавание автомобильного номера в условиях зашумлённости»
CV2011 Lecture 12. Action recognition
CV2011 Lecture 11. Basic video
Поиск объектов
20091115 algorithmsfornphardproblems kulikov_lecture09
CV2011 Lecture 5. Features
Советский суперкомпьютер К-340А и секретные вычисления
CV2011 Lecture 8. Detection
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 6. Fitting
Definite integral
CV2011 Lecture 4. Image representation
Подобедов: Абстрактный Детерминизм
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
TMPA-2013 Dmitry Zaitsev
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Ad

Similar to Лекция 4 Обработка бинарных изображений (20)

PPT
чернякова г.в.
PDF
вссда2012 2
PDF
proverochnie-raboti-po-algebre
PPTX
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
PPTX
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
DOC
Matlab: Вычисление предела
PPTX
Принципы работы статического анализатора кода PVS-Studio
PPT
Linejnaya funkciya 2
PDF
Лекция №10 "Алгоритмические композиции. Завершение"
PPTX
информатика+математика 8 класс
PDF
Java Memory Model
PPTX
Опыт разработки статического анализатора кода
PPTX
презентация1
PPT
19
PPT
Открытый урок по геометрии в 10 классе.
PDF
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
PPTX
Uproshhenie vyrazhenij 5_klass_2
PPTX
Исполнитель чертежник.6 класс
PPT
тема множество для загрузки 2013
PPT
паскаль. часть1
чернякова г.в.
вссда2012 2
proverochnie-raboti-po-algebre
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Matlab: Вычисление предела
Принципы работы статического анализатора кода PVS-Studio
Linejnaya funkciya 2
Лекция №10 "Алгоритмические композиции. Завершение"
информатика+математика 8 класс
Java Memory Model
Опыт разработки статического анализатора кода
презентация1
19
Открытый урок по геометрии в 10 классе.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
Uproshhenie vyrazhenij 5_klass_2
Исполнитель чертежник.6 класс
тема множество для загрузки 2013
паскаль. часть1
Ad

Лекция 4 Обработка бинарных изображений