beginner_s guide to computer vision presentation
TRANSCRIPT
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
1/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Beginner’s Guide to Computer Vision
Jayneil Dalal1 Sohil Patel2
1
Technical Writer/Embedded Linux EngineerIntelwww.elinux.org/Jayneil Dalal
2Computer Vision EngineerConsultant
July 24, 2013
http://www.elinux.org/Jayneil_Dalalhttp://www.elinux.org/Jayneil_Dalalhttp://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
2/114
Introduction Learning Computer Vision via OpenCV Going Beyond
1 IntroductionAnatomy of the tutorialComputer Vision(CV)
2
Learning Computer Vision via OpenCVBasicsImplementing Computer Vision
3 Going Beyond
More OpenCV Codes3DThanks
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
3/114
Introduction Learning Computer Vision via OpenCV Going Beyond
About US
We are open source advocates and evangelists.
We have recently started a hackerspace in India “Jayso Labs”where students can work on a wide varety of open sourcehardware boards(Arduino, Beaglebone Black, Raspberry Pi,Papiloboard, Pandaboard, Arndaleboard etc.) for just $10.
www.jaysolabs.com
http://www.jaysolabs.com/http://www.jaysolabs.com/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
4/114
Introduction Learning Computer Vision via OpenCV Going Beyond
About US
We are open source advocates and evangelists.
We have recently started a hackerspace in India “Jayso Labs”where students can work on a wide varety of open sourcehardware boards(Arduino, Beaglebone Black, Raspberry Pi,Papiloboard, Pandaboard, Arndaleboard etc.) for just $10.
www.jaysolabs.com
I d i L i C Vi i i O CV G i B d
http://www.jaysolabs.com/http://www.jaysolabs.com/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
5/114
Introduction Learning Computer Vision via OpenCV Going Beyond
About US
We are open source advocates and evangelists.
We have recently started a hackerspace in India “Jayso Labs”where students can work on a wide varety of open sourcehardware boards(Arduino, Beaglebone Black, Raspberry Pi,Papiloboard, Pandaboard, Arndaleboard etc.) for just $10.
www.jaysolabs.com
I t d ti L i C t Vi i i O CV G i B d
http://www.jaysolabs.com/http://www.jaysolabs.com/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
6/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Our Book
http://opencv.org/instant-opencv-starter.html
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
7/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Anatomy of the tutorial
1 IntroductionAnatomy of the tutorialComputer Vision(CV)
2
Learning Computer Vision via OpenCVBasicsImplementing Computer Vision
3 Going Beyond
More OpenCV Codes3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
8/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Anatomy of the tutorial
Prerequisites
This tutorial is for beginners who have no prior experience toComputer Vision. Basic understanding of C/C++ is expected.
All the attendees will be given a DVD containing the followingUbuntu image with OpenCV 2.4.3 pre-installedVirtual box application for Windows & LinuxOpenCV tutorial codes
If you don’t have a DVD, you can download the tutorialmaterial from the link below:https://sourceforge.net/projects/oscon13cv/
Introduction Learning Computer Vision via OpenCV Going Beyond
https://sourceforge.net/projects/oscon13cv/https://sourceforge.net/projects/oscon13cv/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
9/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Anatomy of the tutorial
Prerequisites
This tutorial is for beginners who have no prior experience toComputer Vision. Basic understanding of C/C++ is expected.
All the attendees will be given a DVD containing the followingUbuntu image with OpenCV 2.4.3 pre-installedVirtual box application for Windows & LinuxOpenCV tutorial codes
If you don’t have a DVD, you can download the tutorialmaterial from the link below:https://sourceforge.net/projects/oscon13cv/
Introduction Learning Computer Vision via OpenCV Going Beyond
https://sourceforge.net/projects/oscon13cv/https://sourceforge.net/projects/oscon13cv/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
10/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Anatomy of the tutorial
Prerequisites
This tutorial is for beginners who have no prior experience toComputer Vision. Basic understanding of C/C++ is expected.
All the attendees will be given a DVD containing the followingUbuntu image with OpenCV 2.4.3 pre-installedVirtual box application for Windows & LinuxOpenCV tutorial codes
If you don’t have a DVD, you can download the tutorialmaterial from the link below:https://sourceforge.net/projects/oscon13cv/
Introduction Learning Computer Vision via OpenCV Going Beyond
https://sourceforge.net/projects/oscon13cv/https://sourceforge.net/projects/oscon13cv/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
11/114
g p p g y
Anatomy of the tutorial
Prerequisites
This tutorial is for beginners who have no prior experience toComputer Vision. Basic understanding of C/C++ is expected.
All the attendees will be given a DVD containing the followingUbuntu image with OpenCV 2.4.3 pre-installedVirtual box application for Windows & LinuxOpenCV tutorial codes
If you don’t have a DVD, you can download the tutorialmaterial from the link below:https://sourceforge.net/projects/oscon13cv/
Introduction Learning Computer Vision via OpenCV Going Beyond
https://sourceforge.net/projects/oscon13cv/https://sourceforge.net/projects/oscon13cv/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
12/114
g p p g y
Anatomy of the tutorial
Prerequisites
This tutorial is for beginners who have no prior experience toComputer Vision. Basic understanding of C/C++ is expected.
All the attendees will be given a DVD containing the followingUbuntu image with OpenCV 2.4.3 pre-installedVirtual box application for Windows & LinuxOpenCV tutorial codes
If you don’t have a DVD, you can download the tutorialmaterial from the link below:https://sourceforge.net/projects/oscon13cv/
Introduction Learning Computer Vision via OpenCV Going Beyond
https://sourceforge.net/projects/oscon13cv/https://sourceforge.net/projects/oscon13cv/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
13/114
g g y
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencvMake sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
14/114
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencvMake sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
15/114
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencvMake sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
16/114
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencvMake sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
17/114
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencv
Make sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
18/114
Anatomy of the tutorial
Setup
Please make sure that you have Visualization Technology(VT)enabled in your BIOS.
Then install Virtual box on your machine if you don’t have it.Create a virtual instance using the Ubuntu image providedwith atleast 1core, 1GB RAM.
Log into the live mode. DO NOT INSTALL UBUNTU!
Username=Password=opencv
Make sure that the Codelite IDE has been pre-configured withthe tutorial codes.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
19/114
Computer Vision(CV)
1 IntroductionAnatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCVBasicsImplementing Computer Vision
3 Going Beyond
More OpenCV Codes3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
20/114
Computer Vision(CV)
What is it?
It is a discipline of “teaching machines how to see”.
Used in various industries - Biomedical, Robotics, Computers,Automotive, Aviation etc.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
21/114
Computer Vision(CV)
What is it?
It is a discipline of “teaching machines how to see”.
Used in various industries - Biomedical, Robotics, Computers,Automotive, Aviation etc.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
22/114
Computer Vision(CV)
Why learn Computer Vision?
Solve some of the world’s most toughest problems.
Its cool and fun. Also one does not need a PhD to implementit.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
23/114
Computer Vision(CV)
Why learn Computer Vision?
Solve some of the world’s most toughest problems.
Its cool and fun. Also one does not need a PhD to implementit.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
24/114
Computer Vision(CV)
Applications of Computer Vision
Motivation video
Used in all the latest cars today to assist drivers.
Used by a lot of companies like Facebook, Google etc. toidentify people in their photos.
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
25/114
Basics
1 IntroductionAnatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCVBasicsImplementing Computer Vision
3 Going Beyond
More OpenCV Codes3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
26/114
Basics
What is an Image?
Introduction Learning Computer Vision via OpenCV Going Beyond
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
27/114
Basics
What is an Image?
It is nothing but a collection of ones and zeros! That is howmachines see them atleast.
It is made up of small constituent elements called ’pictureelements’ a.k.a pixels as shown below
Each pixel stores specific color information about the picture.A 1920*1080 picture has 2073600 pixels. More pixels meansclarity upto a certain point.
JPEG, PNG, BMP, GIF etc. - standardized means of
organizing and storing images.
Introduction Learning Computer Vision via OpenCV Going Beyond
B i
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
28/114
Basics
What is an Image?
It is nothing but a collection of ones and zeros! That is howmachines see them atleast.
It is made up of small constituent elements called ’pictureelements’ a.k.a pixels as shown below
Each pixel stores specific color information about the picture.A 1920*1080 picture has 2073600 pixels. More pixels meansclarity upto a certain point.
JPEG, PNG, BMP, GIF etc. - standardized means of
organizing and storing images.
Introduction Learning Computer Vision via OpenCV Going Beyond
B i
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
29/114
Basics
What is an Image?
It is nothing but a collection of ones and zeros! That is howmachines see them atleast.
It is made up of small constituent elements called ’pictureelements’ a.k.a pixels as shown below
Each pixel stores specific color information about the picture.A 1920*1080 picture has 2073600 pixels. More pixels meansclarity upto a certain point.
JPEG, PNG, BMP, GIF etc. - standardized means of
organizing and storing images.
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
30/114
Basics
What is an Image?
It is nothing but a collection of ones and zeros! That is howmachines see them atleast.
It is made up of small constituent elements called ’pictureelements’ a.k.a pixels as shown below
Each pixel stores specific color information about the picture.A 1920*1080 picture has 2073600 pixels. More pixels meansclarity upto a certain point.
JPEG, PNG, BMP, GIF etc. - standardized means of
organizing and storing images.
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
31/114
Basics
What is an Image?
It is nothing but a collection of ones and zeros! That is howmachines see them atleast.
It is made up of small constituent elements called ’pictureelements’ a.k.a pixels as shown below
Each pixel stores specific color information about the picture.A 1920*1080 picture has 2073600 pixels. More pixels meansclarity upto a certain point.
JPEG, PNG, BMP, GIF etc. - standardized means of
organizing and storing images.
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
32/114
Basics
Terminologies
Color Models - RGB, HSV, CMYK.
A mathematical method to describe colors as a tuple of numbers.Colors can be additive or subtractive
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
33/114
Basics
Terminologies
Saturation: INCREASE=bright colors DECREASE=grayishcolors
Brightness: LOW=DARK tones;HIGH=LIGHT tones
Contrast: Difference between the dark and light spots in theimage.
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
34/114
Terminologies
Saturation: INCREASE=bright colors DECREASE=grayishcolors
Brightness: LOW=DARK tones;HIGH=LIGHT tones
Contrast: Difference between the dark and light spots in theimage.
Introduction Learning Computer Vision via OpenCV Going Beyond
Basics
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
35/114
Terminologies
Saturation: INCREASE=bright colors DECREASE=grayishcolors
Brightness: LOW=DARK tones;HIGH=LIGHT tones
Contrast: Difference between the dark and light spots in theimage.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
36/114
1
IntroductionAnatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCV
BasicsImplementing Computer Vision
3 Going Beyond
More OpenCV Codes3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
37/114
Why OpenCV
World’s most popular open source computer vision library.
Available under BSD license - great for making commercialapplications!
500+ optimized algorithms for image and video analysis
Cross platform- Mac OS, Windows, Android, iOS, Linux.
C, C++, Python and Java interfaces
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
38/114
Why OpenCV
World’s most popular open source computer vision library.
Available under BSD license - great for making commercialapplications!
500+ optimized algorithms for image and video analysis
Cross platform- Mac OS, Windows, Android, iOS, Linux.
C, C++, Python and Java interfaces
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
39/114
Why OpenCV
World’s most popular open source computer vision library.
Available under BSD license - great for making commercialapplications!
500+ optimized algorithms for image and video analysis
Cross platform- Mac OS, Windows, Android, iOS, Linux.
C, C++, Python and Java interfaces
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
40/114
Why OpenCV
World’s most popular open source computer vision library.
Available under BSD license - great for making commercialapplications!
500+ optimized algorithms for image and video analysis
Cross platform- Mac OS, Windows, Android, iOS, Linux.
C, C++, Python and Java interfaces
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
41/114
Why OpenCV
World’s most popular open source computer vision library.
Available under BSD license - great for making commercialapplications!
500+ optimized algorithms for image and video analysis
Cross platform- Mac OS, Windows, Android, iOS, Linux.
C, C++, Python and Java interfaces
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
42/114
Installing OpenCV
Two approaches: install pre-compiled package or build it from
source.For Ubuntu, all you need to do is type “sudo apt-get installlibopencv-dev” in a terminal window.
http://youtu.be/b3IQyhJXK78
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://youtu.be/b3IQyhJXK78http://youtu.be/b3IQyhJXK78http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
43/114
Installing OpenCV
Two approaches: install pre-compiled package or build it from
source.For Ubuntu, all you need to do is type “sudo apt-get installlibopencv-dev” in a terminal window.
http://youtu.be/b3IQyhJXK78
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://youtu.be/b3IQyhJXK78http://youtu.be/b3IQyhJXK78http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
44/114
Installing OpenCV
Two approaches: install pre-compiled package or build it from
source.For Ubuntu, all you need to do is type “sudo apt-get installlibopencv-dev” in a terminal window.
http://youtu.be/b3IQyhJXK78
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
http://youtu.be/b3IQyhJXK78http://youtu.be/b3IQyhJXK78http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
45/114
Resources
Website: http://opencv.org/
Official user group:http://tech.groups.yahoo.com/group/OpenCV/
Tutorials
Reference manual, user guide & cheatsheet available inOpenCV/doc folder.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
R
http://opencv.org/http://tech.groups.yahoo.com/group/OpenCV/http://tech.groups.yahoo.com/group/OpenCV/http://opencv.org/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
46/114
Resources
Website: http://opencv.org/
Official user group:http://tech.groups.yahoo.com/group/OpenCV/
Tutorials
Reference manual, user guide & cheatsheet available inOpenCV/doc folder.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
R
http://opencv.org/http://tech.groups.yahoo.com/group/OpenCV/http://tech.groups.yahoo.com/group/OpenCV/http://opencv.org/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
47/114
Resources
Website: http://opencv.org/
Official user group:http://tech.groups.yahoo.com/group/OpenCV/
Tutorials
Reference manual, user guide & cheatsheet available inOpenCV/doc folder.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
R
http://opencv.org/http://tech.groups.yahoo.com/group/OpenCV/http://tech.groups.yahoo.com/group/OpenCV/http://opencv.org/http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
48/114
Resources
Website: http://opencv.org/
Official user group:http://tech.groups.yahoo.com/group/OpenCV/
Tutorials
Reference manual, user guide & cheatsheet available inOpenCV/doc folder.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
OpenCV Modules
http://opencv.org/http://tech.groups.yahoo.com/group/OpenCV/http://tech.groups.yahoo.com/group/OpenCV/http://opencv.org/http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
49/114
OpenCV Modules
Core: compact module defining basic data structures, including the densemultidimensional array Mat and basic functions used by all other modules.
Imgproc: an image processing module that includes linear and non-linear imagefiltering, geometrical image transformations (resize, affine and perspectivewarping, generic table-based remapping), color space conversion, histograms,
and so on.Video: a video analysis module that includes motion estimation, backgroundsubtraction, and object tracking algorithms.
Calib3d: basic multiple-view geometry algorithms, single and stereo cameracalibration, object pose estimation, stereo correspondence algorithms, andelements of 3D reconstruction.
Features2d: salient feature detectors, descriptors, and descriptor matchers.Objdetect: detection of objects and instances of the predefined classes (forexample, faces, eyes, mugs, people, cars, and so on).
Highgui: an easy-to-use interface to video capturing, image and video codecs, aswell as simple UI capabilities.
Gpu: GPU - accelerated algorithms from different OpenCV modules.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
U & R i
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
50/114
Up & Running
Please run the “Hello World” program.
ExplanationPlease run the “Modify Image” program.
Explanation
BREAK
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Up & Running
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
51/114
Up & Running
Please run the “Hello World” program.
ExplanationPlease run the “Modify Image” program.
Explanation
BREAK
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Up & Running
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
52/114
Up & Running
Please run the “Hello World” program.
ExplanationPlease run the “Modify Image” program.
Explanation
BREAK
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Up & Running
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
53/114
Up & Running
Please run the “Hello World” program.
ExplanationPlease run the “Modify Image” program.
Explanation
BREAK
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Up & Running
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
54/114
Up & Running
Please run the “Hello World” program.
ExplanationPlease run the “Modify Image” program.
Explanation
BREAK
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Types of Image
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
55/114
Types of Image
There are three types of Image:
RGB: 3 channels, 0-255Grayscale: 1 channel, 0[BLACK]-255[WHITE]Black and White: 1 channel, 0 or 1
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Types of Image
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
56/114
Types of Image
There are three types of Image:
RGB: 3 channels, 0-255Grayscale: 1 channel, 0[BLACK]-255[WHITE]Black and White: 1 channel, 0 or 1
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Types of Image
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
57/114
Types of Image
There are three types of Image:
RGB: 3 channels, 0-255Grayscale: 1 channel, 0[BLACK]-255[WHITE]Black and White: 1 channel, 0 or 1
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
RGB
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
58/114
RGB
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Grayscale
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
59/114
Grayscale
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Black and White
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
60/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Data types in OpenCV
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
61/114
yp p
8-bit unsigned integer (uchar), CV 8U
8-bit signed integer (schar), CV 8S
16-bit unsigned integer (ushort), CV 16U16-bit signed integer (short), CV 16S
32-bit signed integer (int), CV 32S
32-bit floating-point number (float), CV 32F
64-bit floating-point number (double), CV 64F
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image storage in OpenCV
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
62/114
g g p
Mat - Primitive datatype in OpenCV to store images.
More info here:
http://opencv.willowgarage.com/documentation/cpp/basic structures.html#cv-mat-mat
Image properties:height, width, depth, type, channels, pixels
Please run the “Matrix Operation” program.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image storage in OpenCV
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
63/114
g g p
Mat - Primitive datatype in OpenCV to store images.
More info here:
http://opencv.willowgarage.com/documentation/cpp/basic structures.html#cv-mat-mat
Image properties:height, width, depth, type, channels, pixels
Please run the “Matrix Operation” program.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image storage in OpenCV
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
64/114
g g
Mat - Primitive datatype in OpenCV to store images.
More info here:
http://opencv.willowgarage.com/documentation/cpp/basic structures.html#cv-mat-mat
Image properties:height, width, depth, type, channels, pixels
Please run the “Matrix Operation” program.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image storage in OpenCV
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
65/114
Mat - Primitive datatype in OpenCV to store images.
More info here:
http://opencv.willowgarage.com/documentation/cpp/basic structures.html#cv-mat-mat
Image properties:height, width, depth, type, channels, pixels
Please run the “Matrix Operation” program.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
RGB Color model
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
66/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
HSV Color model
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
67/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image Conversions
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
68/114
RGB to Grayscale(reverse not possible!)
Grayscale to black and white.Makes processing much easier.
Please run the Image Conversion code.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image Conversions
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
69/114
RGB to Grayscale(reverse not possible!)
Grayscale to black and white.Makes processing much easier.
Please run the Image Conversion code.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image Conversions
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
70/114
RGB to Grayscale(reverse not possible!)
Grayscale to black and white.Makes processing much easier.
Please run the Image Conversion code.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image Conversions
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
71/114
RGB to Grayscale(reverse not possible!)
Grayscale to black and white.Makes processing much easier.
Please run the Image Conversion code.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Image Conversions
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
72/114
RGB to Grayscale(reverse not possible!)
Grayscale to black and white.Makes processing much easier.
Please run the Image Conversion code.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Pixel Manipulation
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
73/114
Dealing with one/many pixel simultaneously.
Please run the Pixel manipulation code.
Explanation
Classic example: Image Steganography
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Pixel Manipulation
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
74/114
Dealing with one/many pixel simultaneously.
Please run the Pixel manipulation code.
Explanation
Classic example: Image Steganography
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Pixel Manipulation
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
75/114
Dealing with one/many pixel simultaneously.
Please run the Pixel manipulation code.
Explanation
Classic example: Image Steganography
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Pixel Manipulation
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
76/114
Dealing with one/many pixel simultaneously.
Please run the Pixel manipulation code.
Explanation
Classic example: Image Steganography
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Pixel Manipulation
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
77/114
Dealing with one/many pixel simultaneously.
Please run the Pixel manipulation code.
Explanation
Classic example: Image Steganography
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
78/114
It is a graph showing the number of pixels in an image at eachdifferent intensity value found in that image
Histograms are used to depict image statistics in an easilyinterpreted visual format
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
79/114
It is a graph showing the number of pixels in an image at eachdifferent intensity value found in that image
Histograms are used to depict image statistics in an easilyinterpreted visual format
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
80/114
It is a graph showing the number of pixels in an image at eachdifferent intensity value found in that image
Histograms are used to depict image statistics in an easilyinterpreted visual format
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Plotting your own Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
81/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Importance of Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
82/114
It is used in many applications to improve the visual
appearance of an image.
Trivial image comparison.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Importance of Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
83/114
It is used in many applications to improve the visual
appearance of an image.
Trivial image comparison.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Importance of Histogram
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
84/114
It is used in many applications to improve the visual
appearance of an image.
Trivial image comparison.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Equalization
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
85/114
It is a method that improves the contrast in an image, inorder to stretch out the intensity range.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Equalization
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
86/114
It is a method that improves the contrast in an image, inorder to stretch out the intensity range.
Introduction Learning Computer Vision via OpenCV Going Beyond
Implementing Computer Vision
Equalization
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
87/114
It is a method that improves the contrast in an image, inorder to stretch out the intensity range.
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
88/114
1 Introduction
Anatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCV
BasicsImplementing Computer Vision
3 Going BeyondMore OpenCV Codes
3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
Examples
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
89/114
Changing the brightness/contrast of a given image
Smoothening a given image
Edge detection
Please run all of the above codes.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
Examples
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
90/114
Changing the brightness/contrast of a given image
Smoothening a given image
Edge detection
Please run all of the above codes.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
Examples
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
91/114
Changing the brightness/contrast of a given image
Smoothening a given image
Edge detection
Please run all of the above codes.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
Examples
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
92/114
Changing the brightness/contrast of a given image
Smoothening a given image
Edge detection
Please run all of the above codes.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
More OpenCV Codes
Examples
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
93/114
Changing the brightness/contrast of a given image
Smoothening a given image
Edge detection
Please run all of the above codes.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
1 Introduction
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
94/114
1 Introduction
Anatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCVBasicsImplementing Computer Vision
3 Going BeyondMore OpenCV Codes
3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
3D Image Processing
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
95/114
Z parameter - depth.
3D Cameras use either ’time of flight’ or the structured lighttechnology.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
3D Image Processing
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
96/114
Z parameter - depth.
3D Cameras use either ’time of flight’ or the structured lighttechnology.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
3D Image Processing
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
97/114
Z parameter - depth.
3D Cameras use either ’time of flight’ or the structured lighttechnology.
Explanation
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Hardware Devices
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
98/114
Microsoft Kinect
Primesense
Softkinetic
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Hardware Devices
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
99/114
Microsoft Kinect
Primesense
Softkinetic
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Hardware Devices
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
100/114
Microsoft Kinect
Primesense
Softkinetic
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Software
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
101/114
OpenNI library - world’s most popular open source 3D imageprocessing library.
Point Cloud Library(PCL)
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Software
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
102/114
OpenNI library - world’s most popular open source 3D imageprocessing library.
Point Cloud Library(PCL)
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Potential Applications
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
103/114
Terrain mapping
Gaming
Medical
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Potential Applications
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
104/114
Terrain mapping
Gaming
Medical
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Potential Applications
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
105/114
Terrain mapping
Gaming
Medical
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Demos
http://find/http://goback/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
106/114
Getting RGB data and depth map using Microsoft Kinect.
Hand TrackerSkeleton Tracking
Kinect hacks on Pandaboard
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Demos
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
107/114
Getting RGB data and depth map using Microsoft Kinect.
Hand TrackerSkeleton Tracking
Kinect hacks on Pandaboard
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Demos
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
108/114
Getting RGB data and depth map using Microsoft Kinect.
Hand TrackerSkeleton Tracking
Kinect hacks on Pandaboard
Introduction Learning Computer Vision via OpenCV Going Beyond
3D
Demos
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
109/114
Getting RGB data and depth map using Microsoft Kinect.
Hand TrackerSkeleton Tracking
Kinect hacks on Pandaboard
Introduction Learning Computer Vision via OpenCV Going Beyond
Thanks
1 Introduction
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
110/114
Anatomy of the tutorialComputer Vision(CV)
2 Learning Computer Vision via OpenCVBasics
Implementing Computer Vision
3 Going BeyondMore OpenCV Codes
3DThanks
Introduction Learning Computer Vision via OpenCV Going Beyond
Thanks
Contact US
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
111/114
Thank you for attending our tutorial! :-)
Jayneil: [email protected]: [email protected]
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
112/114
Introduction Learning Computer Vision via OpenCV Going Beyond
Thanks
Contact US
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
113/114
Thank you for attending our tutorial! :-)
Jayneil: [email protected]: [email protected]
Introduction Learning Computer Vision via OpenCV Going Beyond
Thanks
Contact US
http://find/
-
8/17/2019 Beginner_s Guide to Computer Vision Presentation
114/114
Thank you for attending our tutorial! :-)
Jayneil: [email protected]: [email protected]
http://find/