SlideShare a Scribd company logo
1 of 14
INTRODUCTION TO
OPENCV AND MATLAB                           Module   2

       © roboVITics | Mayank Prasad, 2012            1
OUTLINE

   Introduction to OpenCV and MATLAB
   Why OpenCV?
   Installing and Running OpenCV & MATLAB in Windows
   Hello World with images using OpenCV and MATLAB




                        © roboVITics | Mayank Prasad, 2012   2
WHAT IS OPENCV ?

 OpenCV (Open Source Computer
  Vision Librar y) is a library of
  programming functions mainly
  aimed at real-time computer
  vision
 Developed by Intel, and now
  supported by Willow Garage and
  Itseez
 It is free for use under the open
  source BSD license
 The library is cross-platform. It
  focuses mainly on real -time
  image processing.

                         © roboVITics | Mayank Prasad, 2012   3
WHAT IS MATLAB ?

 MATLAB (matrix laboratory) is
  a numerical computing environment
  and 4G programming language
 Developed by MathWorks, MATLAB
 Allows matrix manipulations, plotting
  of functions and data, implementation
  of algorithms, creation of user
  interfaces, and interfacing with
  programs written in other
  languages, including C, C++, Java, and F
  ortran.
 Several toolboxes used for engineering
  tasks
 Image Processing Toolbox used here
                        © roboVITics | Mayank Prasad, 2012   4
WHY CHOOSE OPENCV?

   Specific – built exclusively for IP applications
   Speed – at least 4-5 times faster than other interfaces
   Ef ficiency – uses less system resources
   Optimized – highly optimized routines available
   Cross Platform – supports C, C++, python
   Open Source – open source and free of cost




                          © roboVITics | Mayank Prasad, 2012   5
Our People
                                              will help
     INSTALLING AND                           you out.
                                              Please
RUNNING OPENCV AND                            refer to
                                              the
             MATLAB                           supporting
                                              document
                                              shared in
                                              the folder



         © roboVITics | Mayank Prasad, 2012           6
INSTALLING MATLAB

Installation
 Run the setup file
 Click „Yes‟ or „Next‟ wherever necessary ;)
 Provide the license key and the license file when asked for
 Click „Finish‟, reboot your system, and you are good to go!

Now run it
 Now double click on the MATLAB R2011a icon on your desktop
 You should see the MATLAB command window window in front
  of you!




                        © roboVITics | Mayank Prasad, 2012      7
CONFIGURING OPENCV

 Install the superpack version of OpenCV provided.
 You can download the latest version from Sourceforge.
 Installation will merely extract all the build files into a folder.
 Copy that folder into C:  drive and rename it exactly as
  “OpenCV2.3.1”
 Open Visual Studio C++. Download and install it if you don‟t
  have it.
 Next open the text file provided during the workshop named
  “Config OpenCV”
 Follow the instructions given there. The instructions are for
  configuring OpenCV2.3.1 in Windows with Visual C++ IDE.



                          © roboVITics | Mayank Prasad, 2012        8
Hello
HELLO WORLD                           World with
                                      Images




 © roboVITics | Mayank Prasad, 2012            9
HELLO WORLD WITH IMAGES

 Hello World is the simplest application that you can build
  using any programming languages.
 When learning C, it is displaying some text on the screen.
 In case of images, it will be displaying an image on the screen
 Just do as your instructor is doing in front of you.
 Algorithm is as smooth as butter!
   Initialize everything
   Load an image
   Show it in a window




                            © roboVITics | Mayank Prasad, 2012   10
PROGRAMMING                            Related to C
    CONCEPTS




  © roboVITics | Mayank Prasad, 2012             11
C++ PROGRAMMING BASICS – REVISITED

  Nature of the Code
      Code, Files, Compile, Executable
  Variables and Data Types                                           These are the
  Simple Types                                                       concepts that you
      int, float, char, ASCII, bool/boolean, string, byte, long      will require while
    Arrays                                                           programming in
    Type-Casting                                                     OpenCV. So revise
    Operators                                                        them!
    Control Statements
      if-else, for, while, do-while, continue, break
  Functions
        Defining and Declaring Functions
        Passing parameters/arguments
        Naming a function
        Function Overloading
    Structures and Structure Variables
    Classes and Objects
    Scope
    Pointers
                                 © roboVITics | Mayank Prasad, 2012                    12
DELVING DEEPER INTO OPENCV
                           UP NEXT
                                                 Module   3

            © roboVITics | Mayank Prasad, 2012            13
CONTACTS

 Mayank Prasad
      President, roboVITi cs
      mayank@roboviti cs.in
 Akshat Wahi
      Asst. Project Manager, roboVITi cs
      +91 909 250 3053
      akshat@core.robovitics.in
 Akash Kashyap
      President, TEC – The Electronics Club of VIT
      akash130791@gmail .com




                           © roboVITics | Mayank Prasad, 2012   14

More Related Content

What's hot

Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkMohit Belwal
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkStephen Chin
 
The complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrrThe complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrrAfreenK
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingStephen Chin
 
An introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesAn introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesNexSoftsys
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xGeertjan Wielenga
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemTim Ellison
 
Migrating to java 9 modules
Migrating to java 9 modulesMigrating to java 9 modules
Migrating to java 9 modulesPaul Bakker
 
blueMarine photographic workflow with Java
blueMarine photographic workflow with JavablueMarine photographic workflow with Java
blueMarine photographic workflow with JavaFabrizio Giudici
 
How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)Giulio Vian
 

What's hot (11)

Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate Framework
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
The complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrrThe complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrr
 
Design pattern
Design patternDesign pattern
Design pattern
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi Hacking
 
An introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesAn introduction to Java 9 & Its Features
An introduction to Java 9 & Its Features
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
Migrating to java 9 modules
Migrating to java 9 modulesMigrating to java 9 modules
Migrating to java 9 modules
 
blueMarine photographic workflow with Java
blueMarine photographic workflow with JavablueMarine photographic workflow with Java
blueMarine photographic workflow with Java
 
How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)
 

Viewers also liked

Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufCTE Solutions Inc.
 
Download-manuals-training-trainingmodulefor hymo-strainers (1)
 Download-manuals-training-trainingmodulefor hymo-strainers (1) Download-manuals-training-trainingmodulefor hymo-strainers (1)
Download-manuals-training-trainingmodulefor hymo-strainers (1)hydrologyproject0
 
Myro and OpenCV
Myro and OpenCVMyro and OpenCV
Myro and OpenCV2xrobert
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012Wingston
 
RoboCV Module 4: Image Processing Techniques using OpenCV
RoboCV Module 4: Image Processing Techniques using OpenCVRoboCV Module 4: Image Processing Techniques using OpenCV
RoboCV Module 4: Image Processing Techniques using OpenCVroboVITics club
 
Getting started with open cv in raspberry pi
Getting started with open cv in raspberry piGetting started with open cv in raspberry pi
Getting started with open cv in raspberry piJayaprakash Nagaruru
 
Using openCV on Raspberry Pi
Using openCV on Raspberry PiUsing openCV on Raspberry Pi
Using openCV on Raspberry PiCAVEDU Education
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armPrashant Ahire
 
Acknowledgment
AcknowledgmentAcknowledgment
AcknowledgmentAsama Kiss
 
A basic introduction to open cv for image processing
A basic introduction to open cv for image processingA basic introduction to open cv for image processing
A basic introduction to open cv for image processingChu Lam
 
Radar 2009 a 15 parameter estimation and tracking part 1
Radar 2009 a 15 parameter estimation and tracking part 1Radar 2009 a 15 parameter estimation and tracking part 1
Radar 2009 a 15 parameter estimation and tracking part 1Forward2025
 
Image Processing with OpenCV
Image Processing with OpenCVImage Processing with OpenCV
Image Processing with OpenCVdebayanin
 
Projeto Jornal Escolar Wilson De Almeida
Projeto Jornal Escolar   Wilson De AlmeidaProjeto Jornal Escolar   Wilson De Almeida
Projeto Jornal Escolar Wilson De AlmeidaAna Claudia
 
Q4.11: ARM Architecture
Q4.11: ARM ArchitectureQ4.11: ARM Architecture
Q4.11: ARM ArchitectureLinaro
 
Sample Acknowledgement of Project Report
Sample Acknowledgement of Project ReportSample Acknowledgement of Project Report
Sample Acknowledgement of Project ReportMBAnetbook.co.in
 

Viewers also liked (20)

Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian Malbeuf
 
Download-manuals-training-trainingmodulefor hymo-strainers (1)
 Download-manuals-training-trainingmodulefor hymo-strainers (1) Download-manuals-training-trainingmodulefor hymo-strainers (1)
Download-manuals-training-trainingmodulefor hymo-strainers (1)
 
Myro and OpenCV
Myro and OpenCVMyro and OpenCV
Myro and OpenCV
 
Acknowledgment
AcknowledgmentAcknowledgment
Acknowledgment
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
 
RoboCV Module 4: Image Processing Techniques using OpenCV
RoboCV Module 4: Image Processing Techniques using OpenCVRoboCV Module 4: Image Processing Techniques using OpenCV
RoboCV Module 4: Image Processing Techniques using OpenCV
 
Getting started with open cv in raspberry pi
Getting started with open cv in raspberry piGetting started with open cv in raspberry pi
Getting started with open cv in raspberry pi
 
Using openCV on Raspberry Pi
Using openCV on Raspberry PiUsing openCV on Raspberry Pi
Using openCV on Raspberry Pi
 
Acknowledgment
AcknowledgmentAcknowledgment
Acknowledgment
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
Acknowledgment
AcknowledgmentAcknowledgment
Acknowledgment
 
A basic introduction to open cv for image processing
A basic introduction to open cv for image processingA basic introduction to open cv for image processing
A basic introduction to open cv for image processing
 
OpenCV Introduction
OpenCV IntroductionOpenCV Introduction
OpenCV Introduction
 
Radar 2009 a 15 parameter estimation and tracking part 1
Radar 2009 a 15 parameter estimation and tracking part 1Radar 2009 a 15 parameter estimation and tracking part 1
Radar 2009 a 15 parameter estimation and tracking part 1
 
Image Processing with OpenCV
Image Processing with OpenCVImage Processing with OpenCV
Image Processing with OpenCV
 
Projeto Jornal Escolar Wilson De Almeida
Projeto Jornal Escolar   Wilson De AlmeidaProjeto Jornal Escolar   Wilson De Almeida
Projeto Jornal Escolar Wilson De Almeida
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Q4.11: ARM Architecture
Q4.11: ARM ArchitectureQ4.11: ARM Architecture
Q4.11: ARM Architecture
 
Acknowledgements
AcknowledgementsAcknowledgements
Acknowledgements
 
Sample Acknowledgement of Project Report
Sample Acknowledgement of Project ReportSample Acknowledgement of Project Report
Sample Acknowledgement of Project Report
 

Similar to RoboCV Module 2: Introduction to OpenCV and MATLAB

Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevWerner Keil
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevWerner Keil
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?Steve Poole
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014Jean-Charles JOREL
 
DevOps With Chef and Azure
DevOps With Chef and AzureDevOps With Chef and Azure
DevOps With Chef and AzureMatt Stratton
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxVeerannaKotagi1
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)mafffffe19
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Mozammel Haque
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experienceAlex Tumanoff
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experienceIgor Anishchenko
 
198970820 p-oooooooooo
198970820 p-oooooooooo198970820 p-oooooooooo
198970820 p-oooooooooohomeworkping4
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Java interview question
Java interview questionJava interview question
Java interview questionsimplidigital
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAmazon Web Services
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesPavel Bucek
 

Similar to RoboCV Module 2: Introduction to OpenCV and MATLAB (20)

Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014
 
DevOps With Chef and Azure
DevOps With Chef and AzureDevOps With Chef and Azure
DevOps With Chef and Azure
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Programming (M&M)
Java Programming (M&M)Java Programming (M&M)
Java Programming (M&M)
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 
198970820 p-oooooooooo
198970820 p-oooooooooo198970820 p-oooooooooo
198970820 p-oooooooooo
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Java interview question
Java interview questionJava interview question
Java interview question
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 

More from roboVITics club

How to make a Line Follower Robot
How to make a Line Follower RobotHow to make a Line Follower Robot
How to make a Line Follower RobotroboVITics club
 
RoboCV Module 5: Contours using OpenCV
RoboCV Module 5: Contours using OpenCVRoboCV Module 5: Contours using OpenCV
RoboCV Module 5: Contours using OpenCVroboVITics club
 
RoboCV Module 3: Delving Deeper into OpenCV
RoboCV Module 3: Delving Deeper into OpenCVRoboCV Module 3: Delving Deeper into OpenCV
RoboCV Module 3: Delving Deeper into OpenCVroboVITics club
 
RoboCV Module 1: Introduction to Machine Vision
RoboCV Module 1: Introduction to Machine VisionRoboCV Module 1: Introduction to Machine Vision
RoboCV Module 1: Introduction to Machine VisionroboVITics club
 
RoboCV - Demo Session Slides
RoboCV - Demo Session SlidesRoboCV - Demo Session Slides
RoboCV - Demo Session SlidesroboVITics club
 
ROBO-SUMO Event Details v1.2
ROBO-SUMO Event Details v1.2ROBO-SUMO Event Details v1.2
ROBO-SUMO Event Details v1.2roboVITics club
 
VIT-EDC Problem Statement v1.2
VIT-EDC Problem Statement v1.2VIT-EDC Problem Statement v1.2
VIT-EDC Problem Statement v1.2roboVITics club
 

More from roboVITics club (7)

How to make a Line Follower Robot
How to make a Line Follower RobotHow to make a Line Follower Robot
How to make a Line Follower Robot
 
RoboCV Module 5: Contours using OpenCV
RoboCV Module 5: Contours using OpenCVRoboCV Module 5: Contours using OpenCV
RoboCV Module 5: Contours using OpenCV
 
RoboCV Module 3: Delving Deeper into OpenCV
RoboCV Module 3: Delving Deeper into OpenCVRoboCV Module 3: Delving Deeper into OpenCV
RoboCV Module 3: Delving Deeper into OpenCV
 
RoboCV Module 1: Introduction to Machine Vision
RoboCV Module 1: Introduction to Machine VisionRoboCV Module 1: Introduction to Machine Vision
RoboCV Module 1: Introduction to Machine Vision
 
RoboCV - Demo Session Slides
RoboCV - Demo Session SlidesRoboCV - Demo Session Slides
RoboCV - Demo Session Slides
 
ROBO-SUMO Event Details v1.2
ROBO-SUMO Event Details v1.2ROBO-SUMO Event Details v1.2
ROBO-SUMO Event Details v1.2
 
VIT-EDC Problem Statement v1.2
VIT-EDC Problem Statement v1.2VIT-EDC Problem Statement v1.2
VIT-EDC Problem Statement v1.2
 

Recently uploaded

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 

Recently uploaded (20)

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 

RoboCV Module 2: Introduction to OpenCV and MATLAB

  • 1. INTRODUCTION TO OPENCV AND MATLAB Module 2 © roboVITics | Mayank Prasad, 2012 1
  • 2. OUTLINE  Introduction to OpenCV and MATLAB  Why OpenCV?  Installing and Running OpenCV & MATLAB in Windows  Hello World with images using OpenCV and MATLAB © roboVITics | Mayank Prasad, 2012 2
  • 3. WHAT IS OPENCV ?  OpenCV (Open Source Computer Vision Librar y) is a library of programming functions mainly aimed at real-time computer vision  Developed by Intel, and now supported by Willow Garage and Itseez  It is free for use under the open source BSD license  The library is cross-platform. It focuses mainly on real -time image processing. © roboVITics | Mayank Prasad, 2012 3
  • 4. WHAT IS MATLAB ?  MATLAB (matrix laboratory) is a numerical computing environment and 4G programming language  Developed by MathWorks, MATLAB  Allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, and F ortran.  Several toolboxes used for engineering tasks  Image Processing Toolbox used here © roboVITics | Mayank Prasad, 2012 4
  • 5. WHY CHOOSE OPENCV?  Specific – built exclusively for IP applications  Speed – at least 4-5 times faster than other interfaces  Ef ficiency – uses less system resources  Optimized – highly optimized routines available  Cross Platform – supports C, C++, python  Open Source – open source and free of cost © roboVITics | Mayank Prasad, 2012 5
  • 6. Our People will help INSTALLING AND you out. Please RUNNING OPENCV AND refer to the MATLAB supporting document shared in the folder © roboVITics | Mayank Prasad, 2012 6
  • 7. INSTALLING MATLAB Installation  Run the setup file  Click „Yes‟ or „Next‟ wherever necessary ;)  Provide the license key and the license file when asked for  Click „Finish‟, reboot your system, and you are good to go! Now run it  Now double click on the MATLAB R2011a icon on your desktop  You should see the MATLAB command window window in front of you! © roboVITics | Mayank Prasad, 2012 7
  • 8. CONFIGURING OPENCV  Install the superpack version of OpenCV provided.  You can download the latest version from Sourceforge.  Installation will merely extract all the build files into a folder.  Copy that folder into C: drive and rename it exactly as “OpenCV2.3.1”  Open Visual Studio C++. Download and install it if you don‟t have it.  Next open the text file provided during the workshop named “Config OpenCV”  Follow the instructions given there. The instructions are for configuring OpenCV2.3.1 in Windows with Visual C++ IDE. © roboVITics | Mayank Prasad, 2012 8
  • 9. Hello HELLO WORLD World with Images © roboVITics | Mayank Prasad, 2012 9
  • 10. HELLO WORLD WITH IMAGES  Hello World is the simplest application that you can build using any programming languages.  When learning C, it is displaying some text on the screen.  In case of images, it will be displaying an image on the screen  Just do as your instructor is doing in front of you.  Algorithm is as smooth as butter!  Initialize everything  Load an image  Show it in a window © roboVITics | Mayank Prasad, 2012 10
  • 11. PROGRAMMING Related to C CONCEPTS © roboVITics | Mayank Prasad, 2012 11
  • 12. C++ PROGRAMMING BASICS – REVISITED  Nature of the Code  Code, Files, Compile, Executable  Variables and Data Types These are the  Simple Types concepts that you  int, float, char, ASCII, bool/boolean, string, byte, long will require while  Arrays programming in  Type-Casting OpenCV. So revise  Operators them!  Control Statements  if-else, for, while, do-while, continue, break  Functions  Defining and Declaring Functions  Passing parameters/arguments  Naming a function  Function Overloading  Structures and Structure Variables  Classes and Objects  Scope  Pointers © roboVITics | Mayank Prasad, 2012 12
  • 13. DELVING DEEPER INTO OPENCV UP NEXT Module 3 © roboVITics | Mayank Prasad, 2012 13
  • 14. CONTACTS  Mayank Prasad President, roboVITi cs mayank@roboviti cs.in  Akshat Wahi Asst. Project Manager, roboVITi cs +91 909 250 3053 akshat@core.robovitics.in  Akash Kashyap President, TEC – The Electronics Club of VIT akash130791@gmail .com © roboVITics | Mayank Prasad, 2012 14