SlideShare une entreprise Scribd logo
1  sur  59
Бинарное компьютерное зрение Сайт курса: http://cvbeginner.blogspot.com/ 1
Из прошлой лекции… Бинаризация по порогу Алгоритмы выделения краев Масочные операции Связанность областей 2
Бинарное изображение 3
Применения Используется для оценки параметров сегментированных объектов Трассировки объектов В качестве маски 4
Логические операции К бинарным изображениям применимы все операции классической логики И (AND) ИЛИ (OR) Исключающее ИЛИ (XOR) Отрицание (NOT) 5
Логическое ИЛИ (OR) 6 Matlab: 	A = B|C OpenCV: cv::Mat a = b|c;
Логическое И (AND) 7 Matlab: 	A = B&C OpenCV: cv::Mat a = b&c;
Исключающее ИЛИ (XOR) 8
Отрицание (NOT) 9
Маскирование 10
Морфологические операции Стык теории множеств и интегральной геометрии Имеется: Некоторое множество X Структурный элемент B Структурный элемент определяется формой и размером Операция переноса: 11
Эрозия 12 ,[object Object]
imeride(BW);
OpenCV
void erode( const Mat& src, Mat& dst, const Mat& element);,[object Object]
Дилатация 14 ,[object Object]
imdilate (BW);
OpenCV
void dilate ( const Mat& src, Mat& dst, const Mat& element);,[object Object]
Свойства Эрозии и Дилатации Коммутативный закон Ассоциативный закон 16
Открытие (Размыкание) 17 ,[object Object]
imopen (BW);
OpenCVvoid morphologyEx( const Mat& src, Mat& dst, MORPH_OPEN, const Mat& element);
Открытие (Размыкание) 18
Закрытие (Замыкание) 19 ,[object Object]
imclose (BW);
OpenCVvoid morphologyEx( const Mat& src, Mat& dst, MORPH_CLOSE, const Mat& element);
Закрытие (Замыкание) 20
Попадание-промах 21
Утончение 22
Построение скелета области 23
Алгоритм Итеративное утончение Пока изображение изменяется Применять морфологическую операцию утончение Через DT (далее) Matlab Skel = bwmorph(BW,'skel',Inf); OpenCV См. DT 24
Скелетонизация 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
Реализация Matlab L = bwlabel(BW);  RGB = label2rgb(L); OpenCV void 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 иллюстрация 39 L2 L1 ~L2 L0
Реализация Matlab bwdist(~BW,'euclidean') bwdist(~ BW,'cityblock') bwdist(~ BW,'chessboard') bwdist(~ BW,'quasi-euclidean') OpenCV void distanceTransform( const Mat& src, Mat& dst, intdistanceType, intmaskSize ); 40
Описание бинарных компонент Для сравнения между собой или с шаблоном Требования к описанию: Инвариантность относительно размера Инвариантность относительно поворота Инвариантность относительно сдвига 41
Определение центра масс 42 Площадь Центр масс
Определение осей и их направления 43 Собственными векторами матрицы covбудут направления полуосей осей эллипса Собственными числами – длины полуосей
Моменты пример 44 OpenCV Moments cv::moments(const Mat& array, boolbinaryImage=false );
Моменты Hu 45 OpenCV 	void HuMoments( const Moments& moments, double h[7] );
Нахождение контура  Внутренний контур Внешний контур 46
Описание контура  Код последовательности (Freeman) 47
Описание контура  Распределение расстояния до цента 48
Сравнение контуров OpenCV double matchShapes( const Mat& object1,const Mat& object2,int method, double parameter=0 ); 49
Граф Риба 50
Недостатки графа Риба 51

Contenu connexe

Tendances

CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.Anton Konushin
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.Anton Konushin
 
CV2011-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.Anton Konushin
 
Устранение размытости видео
Устранение размытости видеоУстранение размытости видео
Устранение размытости видеоMSU GML VideoGroup
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»seik0ixtem
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoAnton Konushin
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектовLiloSEA
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09Computer Science Club
 
CV2011 Lecture 5. Features
CV2011 Lecture 5. FeaturesCV2011 Lecture 5. Features
CV2011 Lecture 5. FeaturesAnton Konushin
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияPositive Hack Days
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionAnton Konushin
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrievalAnton Konushin
 
CV2011 Lecture 6. Fitting
CV2011 Lecture 6. FittingCV2011 Lecture 6. Fitting
CV2011 Lecture 6. FittingAnton Konushin
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationAnton Konushin
 
Подобедов: Абстрактный Детерминизм
Подобедов: Абстрактный ДетерминизмПодобедов: Абстрактный Детерминизм
Подобедов: Абстрактный ДетерминизмAleximos
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Nikolay Grebenshikov
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevIosif Itkin
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Nikolay Grebenshikov
 

Tendances (20)

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

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

чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreGarik Yenokyan
 
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.SmartTools
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
 
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление пределаDmitry Bulgakov
 
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioAndrey Karpov
 
Linejnaya funkciya 2
Linejnaya funkciya 2Linejnaya funkciya 2
Linejnaya funkciya 2Ivanchik5
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1
 
информатика+математика 8 класс
информатика+математика 8 классинформатика+математика 8 класс
информатика+математика 8 классСветлана Сырцова
 
Опыт разработки статического анализатора кода
Опыт разработки статического анализатора кодаОпыт разработки статического анализатора кода
Опыт разработки статического анализатора кодаAndrey Karpov
 
19
1919
19JIuc
 
Открытый урок по геометрии в 10 классе.
Открытый урок по геометрии в 10 классе. Открытый урок по геометрии в 10 классе.
Открытый урок по геометрии в 10 классе. mou154
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.Anton Konushin
 
Исполнитель чертежник.6 класс
Исполнитель чертежник.6 классИсполнитель чертежник.6 класс
Исполнитель чертежник.6 классSecondary School from Helsinki
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013AliyaAringazinova
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1igorm9so
 

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

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

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