OpenCV is an open-source computer vision library that contains over 2500 algorithms for various applications in industry and academia. It supports programming in C, C++, and Python and is known for its speed and efficiency in image processing compared to MATLAB, though it is less user-friendly. The library includes several modules for functionalities such as image processing, video analysis, and object detection, with installation instructions varied by operating system.
OpenCV is an open-source computer vision library with over 2500 algorithms, widely used in various applications. Developed by Intel, it supports C/C++/Python and is cross-platform.
OpenCV's applications include object recognition, automated inspection, medical image analysis, and video search. It is versatile for tasks like gesture recognition and navigation.
Key functionalities of OpenCV include image/video processing, object detection, computer vision geometry, computational photography, machine learning, and CUDA acceleration.
OpenCV outperforms Matlab in speed and resource efficiency, providing extensive functions for computer vision, which expedites tasks such as motion and object detection.
Although powerful, OpenCV is less user-friendly than Matlab, with more complex memory management and longer code for similar functionalities.
OpenCV has a modular structure with various modules for core functionality, image processing, video analysis, object detection, and calibration among others.
Detailed installation steps for OpenCV on Windows, iOS, and Ubuntu are provided, including project setup, package downloads, and verification.
Links to the OpenCV Wiki, modules, and external resources like NVIDIA Developer guides, providing further learning on computer vision.
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
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
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