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