KEMBAR78
OpenCV (Open source computer vision) | PDF
OpenCV
(open source computer vision)
Chetan Allapur-OpenCV
What is OpenCV?
OpenCV (Open Source Computer Vision Library: http://opencv.org) is
an open-source BSD-licensed library that
includes several hundreds of computer vision
algorithms to be used by industry and
academia for computer vision applications
and research.
By Chetan Allapur
Chetan Allapur-OpenCV
❏ OpenCV is originally developed by Intel.
❏ It has more than 2500 optimized algorithms.
❏ It has C/C++/Python Application Programming Interface.
● It is written natively in C++
❏ OpenCV is a Cross-platform.
● Also available for Android and iOS.
❏ Released under BSD license.
❏ Initial release: June 2000; 20 years ago.
❏ Current release version: 4.3.0 / 3 April 2020.
Chetan Allapur-OpenCV
Applications of OpenCV....
● Object,face and Gesture Recognition
● Street view image stitching
● Automated inspection and surveillance
● Robot and driver-less car navigation and control
● Medical image analysis
● Video/image search and retrieval
● Movies - 3D structure from motion
● ….and so on.
Chetan Allapur-OpenCV
Functionalities of OpenCV:
● Image/video I/O, processing, display (core, imgprocessing,
highgui)
● Object/feature detection (objdetect, features2d, nonfree)
● Geometry-based monocular or stereo computer vision (calib3d,
stitching, video stabilization)
● Computational photography (photo, video, superres)
● Machine learning & clustering (ml, flann-Fast Library for
Approximate Nearest Neighbors)
● CUDA acceleration (gpu)
Chetan Allapur-OpenCV
Why we use OpenCV the most?
❖ OpenCV is one of the best competitor When compared with
Matlab.
❖ OpenCV has more functions for computer vision than Matlab.
In general C++ OpenCV code runs faster than Matlab code.
❖ OpenCV is very powerful when it comes to Image Processing.
❖ Few day to day tasks such as Motion Detection, Object
Detection, People Detection becomes matter of minutes with
OpenCV.
Chetan Allapur-OpenCV
Pros and Cons:
Competitor here: Matlab
❖ Pros:
● With BSD license for OpenCV, you get all the features for free.
Also, optimized code runs faster than MATLAB!
● Speed: OpenCV uses high frames processed per sec in real time
image processing Than Matlab.
● OpenCV is more efficient than Matlab as Matlab needs more
system resources than OpenCV.
● There are many OpenCV wrappers like SimpleCV, JavaCV,
EmguCV,JavacvPro,..etc
Chetan Allapur-OpenCV
Pros and Cons:
Competitor here: Matlab
❖ Cons:
● OpenCV does not provide the same ease of use when
compared to MATLAB
● OpenCV lacks in memory management.
● Matlab is much easier to write lines of code. Similar functionality
might be just 1–2 lines of code compared to OpenCV.
Chetan Allapur-OpenCV
OpenCV has a modular structure, which
means that the package includes several
shared or static libraries. The following
modules are available:
Chetan Allapur-OpenCV
Modules:
● Core functionality (core): basic structures and algorithms.
● Image Processing (imgproc): Image processng algorithms
(such as image filtering, image transformation,etc)
● Video Analysis (video): Video analysis (such as ,otion
estimation and object tracking)
● High-level GUI (highgui): It has built-in UI and in addition,
we use Qt(free and open-source widget toolkit for creating graphical user
interfaces)
Chetan Allapur-OpenCV
Modules:
● Camera Calibration and 3D Reconstruction (calib3d):
camera calibration and 3d reconstruction
● 2D Features Framework (features2d): 2D features
framework (feature detectors, descriptors and descriptor
matchers)
● Object Detection (objdetect): detection of objects and other
items(e.g., faces, eyes, people, cars, etc,.)
● Video I/O (videoio): an easy-to-use interface to video capturing
and video codecs.
Chetan Allapur-OpenCV
Installation steps in windows:
1. Step 1: Install Visual Studio. ...
2. Step 2: Install CMake. ...
3. Step 3: Install Anaconda (a python distribution) ...
4. Step 4: Download and extract opencv-3.3. ...
5. Step 5: Generate Visual Studio project using CMake. ...
6. Step 6: Compile OpenCV. ...
7. Step 7: Update System Environment Variables. ...
8. Step 8: Testing C++ code.
(for more detailed explanation - Link)
Chetan Allapur-OpenCV
Installation steps in iOS:
1. Download OpenCV 3 from www.opencv.org.
2. Create iOS project by Xcode (Xcode 9.1 (9B55)).
3. Import opencv2. framework to project in General>Linked
Frameworks and Libraries.
4. Set correct path in Build Settings>Framework Search Paths.
5. Import header before any module or framework of Cocoa.
(For more detailed explanation - Link)
Chetan Allapur-OpenCV
Installation steps in Ubuntu:
1. Refresh the packages index and install the OpenCV package
by typing: sudo apt update sudo apt install python3-opencv. ...
2. To verify the installation, import the cv2 module and print the
OpenCV version
(this is the installation of OenCV from Ubuntu Repository, for installng CV from the source - link)
Chetan Allapur-OpenCV
Resources:
➢ OpenCV Wiki- Link
➢ OpenCV: OpenCV modules - Link
➢ Introduction to Computer Vision - Link (Edge AI and Vision Alliance)
➢ OpenCV | NVIDIA Developer - Link (NVIDIA Developer)
Chetan Allapur-OpenCV

OpenCV (Open source computer vision)

  • 1.
    OpenCV (open source computervision) Chetan Allapur-OpenCV
  • 2.
    What is OpenCV? OpenCV(Open Source Computer Vision Library: http://opencv.org) is an open-source BSD-licensed library that includes several hundreds of computer vision algorithms to be used by industry and academia for computer vision applications and research. By Chetan Allapur Chetan Allapur-OpenCV
  • 3.
    ❏ OpenCV isoriginally developed by Intel. ❏ It has more than 2500 optimized algorithms. ❏ It has C/C++/Python Application Programming Interface. ● It is written natively in C++ ❏ OpenCV is a Cross-platform. ● Also available for Android and iOS. ❏ Released under BSD license. ❏ Initial release: June 2000; 20 years ago. ❏ Current release version: 4.3.0 / 3 April 2020. Chetan Allapur-OpenCV
  • 4.
    Applications of OpenCV.... ●Object,face and Gesture Recognition ● Street view image stitching ● Automated inspection and surveillance ● Robot and driver-less car navigation and control ● Medical image analysis ● Video/image search and retrieval ● Movies - 3D structure from motion ● ….and so on. Chetan Allapur-OpenCV
  • 5.
    Functionalities of OpenCV: ●Image/video I/O, processing, display (core, imgprocessing, highgui) ● Object/feature detection (objdetect, features2d, nonfree) ● Geometry-based monocular or stereo computer vision (calib3d, stitching, video stabilization) ● Computational photography (photo, video, superres) ● Machine learning & clustering (ml, flann-Fast Library for Approximate Nearest Neighbors) ● CUDA acceleration (gpu) Chetan Allapur-OpenCV
  • 6.
    Why we useOpenCV the most? ❖ OpenCV is one of the best competitor When compared with Matlab. ❖ OpenCV has more functions for computer vision than Matlab. In general C++ OpenCV code runs faster than Matlab code. ❖ OpenCV is very powerful when it comes to Image Processing. ❖ Few day to day tasks such as Motion Detection, Object Detection, People Detection becomes matter of minutes with OpenCV. Chetan Allapur-OpenCV
  • 7.
    Pros and Cons: Competitorhere: Matlab ❖ Pros: ● With BSD license for OpenCV, you get all the features for free. Also, optimized code runs faster than MATLAB! ● Speed: OpenCV uses high frames processed per sec in real time image processing Than Matlab. ● OpenCV is more efficient than Matlab as Matlab needs more system resources than OpenCV. ● There are many OpenCV wrappers like SimpleCV, JavaCV, EmguCV,JavacvPro,..etc Chetan Allapur-OpenCV
  • 8.
    Pros and Cons: Competitorhere: Matlab ❖ Cons: ● OpenCV does not provide the same ease of use when compared to MATLAB ● OpenCV lacks in memory management. ● Matlab is much easier to write lines of code. Similar functionality might be just 1–2 lines of code compared to OpenCV. Chetan Allapur-OpenCV
  • 9.
    OpenCV has amodular structure, which means that the package includes several shared or static libraries. The following modules are available: Chetan Allapur-OpenCV
  • 10.
    Modules: ● Core functionality(core): basic structures and algorithms. ● Image Processing (imgproc): Image processng algorithms (such as image filtering, image transformation,etc) ● Video Analysis (video): Video analysis (such as ,otion estimation and object tracking) ● High-level GUI (highgui): It has built-in UI and in addition, we use Qt(free and open-source widget toolkit for creating graphical user interfaces) Chetan Allapur-OpenCV
  • 11.
    Modules: ● Camera Calibrationand 3D Reconstruction (calib3d): camera calibration and 3d reconstruction ● 2D Features Framework (features2d): 2D features framework (feature detectors, descriptors and descriptor matchers) ● Object Detection (objdetect): detection of objects and other items(e.g., faces, eyes, people, cars, etc,.) ● Video I/O (videoio): an easy-to-use interface to video capturing and video codecs. Chetan Allapur-OpenCV
  • 12.
    Installation steps inwindows: 1. Step 1: Install Visual Studio. ... 2. Step 2: Install CMake. ... 3. Step 3: Install Anaconda (a python distribution) ... 4. Step 4: Download and extract opencv-3.3. ... 5. Step 5: Generate Visual Studio project using CMake. ... 6. Step 6: Compile OpenCV. ... 7. Step 7: Update System Environment Variables. ... 8. Step 8: Testing C++ code. (for more detailed explanation - Link) Chetan Allapur-OpenCV
  • 13.
    Installation steps iniOS: 1. Download OpenCV 3 from www.opencv.org. 2. Create iOS project by Xcode (Xcode 9.1 (9B55)). 3. Import opencv2. framework to project in General>Linked Frameworks and Libraries. 4. Set correct path in Build Settings>Framework Search Paths. 5. Import header before any module or framework of Cocoa. (For more detailed explanation - Link) Chetan Allapur-OpenCV
  • 14.
    Installation steps inUbuntu: 1. Refresh the packages index and install the OpenCV package by typing: sudo apt update sudo apt install python3-opencv. ... 2. To verify the installation, import the cv2 module and print the OpenCV version (this is the installation of OenCV from Ubuntu Repository, for installng CV from the source - link) Chetan Allapur-OpenCV
  • 15.
    Resources: ➢ OpenCV Wiki-Link ➢ OpenCV: OpenCV modules - Link ➢ Introduction to Computer Vision - Link (Edge AI and Vision Alliance) ➢ OpenCV | NVIDIA Developer - Link (NVIDIA Developer) Chetan Allapur-OpenCV