![Page 1: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/1.jpg)
OpenCV 3.0Uses in Robotics and AR
Gary BradskiVP Perception and Core Software,
Magic LeapDirector: OpenCV Foundation
Infilling
1
![Page 2: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/2.jpg)
OpenCV Thanks!For Key Support
• Intel – for getting it started and helping fund
the challenge
• Google– for growing support in Google Summer
of Code over the last 5 years
• Nvidia– Supporting Cuda version with lots of
other help
2
![Page 3: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/3.jpg)
Outline: OPENCV 3.0• Intro
– Learning OpenCV Version 2.0 coming by Aug– Announcing $50K Vision Challenge
• OpenCV Background• OpenCV 3.0 High Level• OpenCV 3.0 Modules• Brand New in OpenCV• OpenCV Examples
– Robotics– Augmented Reality
3
![Page 4: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/4.jpg)
Learning OpenCV V2.0
• Out in Summer 2014!
In C++: V2.0
4
![Page 5: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/5.jpg)
OpenCV $50K Vision Challenge
5
![Page 6: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/6.jpg)
OpenCV Background
6
![Page 7: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/7.jpg)
What is OpenCV• Open Source Computer Vision
Library• Routines focused on real time image
processing and 2D + 3D computer vision.– On Linux, Windows, Mac, Android
and iOS– C++, C, Java, Matlab and Python
interfaces
• Free for commercial or research use in whole or in part.
7
![Page 8: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/8.jpg)
OpenCV License
•Based on BSD license•Free for commercial and research use•Does not force your code to be open•You need not contribute back
–But you are very welcome to contribute back!
8
![Page 9: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/9.jpg)
OpenCV History
1999
2015
200020012002200320042005200620072008200920102011201220132014
OpenCV Started
Alpha Release at CVPR 2000. Windows only.
Beta 1. Linux support Beta 2 Beta 3 Beta 4 Beta 5 Release 1.0 Release 1.1 Release 2.0. C++
Release 2.1. Full Python support
Release 2.4
Release 2.2. Android SupportRelease 3.0 RefactoredRelease 2.3. GPU Support. Modules
Willow Support
OpenCV Foundation
Intel Support
Google Summer of Code
Nvidia Support
Renewed Intel Support
Main Current Sponsors:
9
![Page 10: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/10.jpg)
Environments, Platforms
• Languages: – C++, C#, Python, C, Java
• Platforms:
10
![Page 11: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/11.jpg)
OpenCV and Hardware Acceleration
• OpenCV was a central basis for OpenVX – a hardware abstraction layer – for embedded vision acceleration
• OpenVX Supporters:
11
![Page 12: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/12.jpg)
12
![Page 13: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/13.jpg)
Where is OpenCV Used?
2M downloads
• Academic and Industry Research• Security systems• Google Maps, Streetview• Image/video search and retrieval • Structure from motion in movies• Machine vision factory production inspection systems• Automatic Driver Assistance Systems• Safety monitoring (Dam sites, mines, swimming pools)• Robotics – personal, industrial, hobby• Coin production in China
![Page 14: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/14.jpg)
Popularity
Over 9M downloads!Over 9M downloads!
Ramping to > 160K downloads/month
![Page 15: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/15.jpg)
OpenCV Corporation• Founded this July, 2012• http://opencv.org (user site)
http://docs.opencv.org• http://code.opencv.org (developer site)• Contribute (via Credit, debit or paypal):
– http://tinyurl.com/7eujyo2 For corporate supportAnd/or partnership, [email protected]
I am looking for entrepreneurial people to staff up OpenCV:
• Vision• Business Dev• Software• Hardware
Documentation:
15
![Page 16: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/16.jpg)
What’s In OpenCV
• High level
16
![Page 17: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/17.jpg)
OpenCV Overview:
General Image Processing Functions
Machine Learning:• Detection,• Recognition
Segmentation
Tracking
Matrix Math
Utilities and Data Structures
Fitting
Image Pyramids
Camera calibration,Stereo, 3D
Transforms
Features
Geometric descriptors
Robot support
17
> 2500 algorithmsDeveloper http://code.opencv.org; User: http://opencv.org
![Page 18: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/18.jpg)
OpenCV Algorithm Modules Overview
18
Image Processing
Object recognition
Machine learning
Transforms
Calibration FeaturesVSLAM
Fitting Optical FlowTracking
Depth, PoseNormals,
Planes, 3D Features
Computational Photography
CORE:Data structures, Matrix math, Exceptions
etc
Segmentation
HighGUI:I/O, Interface
![Page 19: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/19.jpg)
CLASSIFICATION / REGRESSIONFast Approximate NN (FLANN)Extremely Random TreesCARTNaïve BayesMLP (Back propagation)Statistical Boosting, 4 flavorsRandom ForestsSVMFace Detector(Histogram matching)(Correlation)
CLUSTERINGK-MeansEM(Mahalanobis distance)
TUNING/VALIDATIONCross validationBootstrappingVariable importanceSampling methods
Machine Learning Library (MLL)
AACBAABBCBCC
AAA
AACACB CBABBC
CCB
BCC
ABBCCB
BC A BBC
CBB
1919http://opencv.org
![Page 20: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/20.jpg)
20
![Page 21: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/21.jpg)
21
![Page 22: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/22.jpg)
OpenCV Architecture and Development
22
![Page 23: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/23.jpg)
23
![Page 24: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/24.jpg)
24
![Page 25: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/25.jpg)
25
![Page 26: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/26.jpg)
What’s In OpenCV 3.0
• Modules
26
![Page 27: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/27.jpg)
OpenCV Modules: Core
27
Core
CORE:Data structures,
Matrix math, Exceptions etc
![Page 28: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/28.jpg)
OpenCV Modules: HighGUI
28
HighGUI:I/O, Interface
![Page 29: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/29.jpg)
OpenCV Modules: Image Processing
29
Image Processing
![Page 30: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/30.jpg)
OpenCV Modules: Transforms
30
Transforms
Log-PolarHough
![Page 31: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/31.jpg)
OpenCV Modules: Fitting
31
Fitting
Convex Hull
Delaunay
Ellipse
3D
2D Rigid Objects
![Page 32: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/32.jpg)
// opencv/samples/c/lkdemo.cint main(…){…CvCapture* capture = <…> ?
cvCaptureFromCAM(camera_id) : cvCaptureFromFile(path);
if( !capture ) return -1;for(;;) { IplImage* frame=cvQueryFrame(capture); if(!frame) break; // … copy and process imagecvCalcOpticalFlowPyrLK( …) cvShowImage( “LkDemo”, result ); c=cvWaitKey(30); // run at ~20-30fps speed if(c >= 0) { // process key }}cvReleaseCapture(&capture);}
lkdemo.c, 190 lines(needs camera to run)
OpenCV Modules: Optic Flow, TrackOptical Flow
Tracking
http://www.youtube.com/watch?v=bWyBGmzfP-g
http://www.youtube.com/watch?v=1osj7kRgswk
y
xt
yyx
yxx
I
IIb
III
IIIGyxX
bXG
dtdyyIdtdxxItI
tyxIdttdyydxxI
,,
,),,(
,
);/(/)/(//
);,,(),,(
2
2
![Page 33: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/33.jpg)
OpenCV Modules: Segmentation
33
Segmentation
Watershed
Grab Cut
Backgroundsubtract
Color https://www.youtube.com/watch?v=OxmDonZja74http://www.youtube.com/watch?v=Ktrjh5-KLKo
![Page 34: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/34.jpg)
OpenCV Modules: Calibration
34
Calibration
3D view of checkerboard Un-distorted image
Homography
http://www.youtube.com/watch?v=DrXIQfQHFv0 http://www.youtube.com/watch?v=PuWQnCReIeE
![Page 35: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/35.jpg)
Change one or both of these linesto switch detector and/or descriptor types
35
Read two input images:
Mat img1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
Detect keypoints in both images:
// detecting keypointsFastFeatureDetector detector(15);vector<KeyPoint> keypoints1;detector.detect(img1, keypoints1);
Compute descriptors for each of the keypoints:
// computing descriptorsSurfDescriptorExtractor extractor;Mat descriptors1;extractor.compute(img1, keypoints1, descriptors1);
Now, find the closest matches between descriptors from the first image to the second:
// matching descriptorsBruteForceMatcher<L2<float> > matcher;vector<DMatch> matches;matcher.match(descriptors1, descriptors2, matches);
FeaturesVSLAM
OpenCV Modules: Features, VSLAM
35
![Page 36: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/36.jpg)
OpenCV Modules: Depth, Pose
36
Depth, PoseNormals,
Planes, 3D Features
Some examples of3D stereo depth maps:
Left – right feature alignment:
![Page 37: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/37.jpg)
OpenCV Modules: Obj Rec/ML
37
Object recognition
Machine learning
VSLAMVSLAM
http://youtu.be/i1uUuWwbIcc
https://www.youtube.com/watch?v=_RF0VpR4xog
![Page 38: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/38.jpg)
OpenCV Modules: Comp Photog
38
Computational
Photography
TexturalInpainting
Image Stitching(Occipital Corp.) Tilt-shift
![Page 39: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/39.jpg)
Brand New in OpenCV 3.0
User Contrib Module• Thanks to Google Summer of Code!!
– Supporting 15 interns!
Accepted pull requests:1. Extended Python interface2. 3D object recognition and pose3. AKAZE features4. Car detection5. Computational photography6. Custom calibration and planar AR7. Dense optical flow
8. New line segment detector9. Haze removal, depth estimation10.GPU accelerated dense optical flow11.DTAM & pose estimation12.PNP pose detection13.Visual saliency filters14.Text detection and reading in wild15.TLD tracker
39
![Page 40: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/40.jpg)
OpenCV Examples
• Industrial Perception• Magic Leap
40
![Page 41: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/41.jpg)
Industrial Perception
41
• Sensor driven,• Real time planning• Applied to distribution
![Page 42: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/42.jpg)
Magic Leap
• Augmented Reality done right• Lots of computer vision (We’re hiring)
• Gesture recognition demo 42
![Page 43: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/43.jpg)
Gesture … was going to be live demo
43
![Page 44: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/44.jpg)
44Photo: Gary Bradski
Questions?
![Page 45: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/45.jpg)
Language Modules
• GPU/Cuda• Android• iOS• Python• Java
45
![Page 46: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/46.jpg)
OpenCV GPU Module:
• Image processing building blocks:
• High-level algorithms:
Color conversio
ns
Geometrical
transforms
Per-element operatio
ns
Integrals,
reductions
Template matchin
g
Filtering engine
Feature detector
s
Stereo matching Face detection Feature matching
46
![Page 47: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/47.jpg)
OpenCV GPU Module Example
47
Mat frame;VideoCapture capture(camera);cv::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor:: getDefaultPeopleDetectorector());
capture >> frame;
vector<Rect> found;hog.detectMultiScale(frame, found, 1.4, Size(8, 8), Size(0, 0), 1.05, 8);
Mat frame;VideoCapture capture(camera);cv::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor:: getDefaultPeopleDetectorector());
capture >> frame;
vector<Rect> found;hog.detectMultiScale(frame, found, 1.4, Size(8, 8), Size(0, 0), 1.05, 8);
Mat frame;VideoCapture capture(camera);cv::gpu::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetectorector());
capture >> frame;
GpuMat gpu_frame;gpu_frame.upload(frame);
vector<Rect> found;hog.detectMultiScale(gpu_frame, found, 1.4, Size(8, 8), Size(0, 0), 1.05, 8);
Mat frame;VideoCapture capture(camera);cv::gpu::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetectorector());
capture >> frame;
GpuMat gpu_frame;gpu_frame.upload(frame);
vector<Rect> found;hog.detectMultiScale(gpu_frame, found, 1.4, Size(8, 8), Size(0, 0), 1.05, 8);
• Designed very similar!
![Page 48: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/48.jpg)
OpenCV GPU Module Performance
Tesla C2050 (Fermi) vs. Core i5-760 2.8GHz (4 cores, TBB, SSE)
– Average speedup for primitives:
33• For “good” data (large images are
better)• Without copying to GPU
What can you get from your computer?
– opencv\samples\gpu\perfomance
48
![Page 49: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/49.jpg)
OpenCV Android Module
OpenCV 2.4 for Android:Native Android Camera SupportMultithreadingJava API (soon)Tegra HW Optimizations (soon)
Wiki with the latest information:
http://opencv.org/platforms/android.html
Support/discussion group:::https
://groups.google.com/group/android-opencv
49
![Page 50: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/50.jpg)
OpenCV iOS Module• Full support
50
![Page 51: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/51.jpg)
OpenCV Python Module• Full Python interface• Example: Depth image from Kinect:
51
![Page 52: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/52.jpg)
OpenCV Java Module
52
![Page 53: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/53.jpg)
Book and Foundation
53
![Page 54: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/54.jpg)
Learning OpenCV V2.0
• Out in Summer 2014!
In C++: V2.0
54
![Page 55: OpenCV 3 - Silvio Savarese · OpenCV History 1 9 9 9 2 0 1 5 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 2 0 0 8 2 0 0 9 2 0 1 0 2 0 1 1 2 0 1 2 2 0 1 3 2 0 1](https://reader035.vdocument.in/reader035/viewer/2022062602/5f0224637e708231d402c7b0/html5/thumbnails/55.jpg)
OpenCV Foundation Support
55