![]() |
OpenCV
4.5.2
Open Source Computer Vision
|
►CUDA-accelerated Computer Vision | |
►Core functionality | |
►Image Processing | This module includes image-processing functions |
►Image file reading and writing | |
►Video I/O | Read and write video or images sequence with OpenCV |
►High-level GUI | While OpenCV was designed for use in full-scale applications and can be used within functionally rich UI frameworks (such as Qt*, WinForms*, or Cocoa*) or without any UI at all, sometimes there it is required to try functionality quickly and visualize the results. This is what the HighGUI module has been designed for |
►Video Analysis | |
►Camera Calibration and 3D Reconstruction | The functions in this section use a so-called pinhole camera model. The view of a scene is obtained by projecting a scene's 3D point \(P_w\) into the image plane using a perspective transformation which forms the corresponding pixel \(p\). Both \(P_w\) and \(p\) are represented in homogeneous coordinates, i.e. as 3D and 2D homogeneous vector respectively. You will find a brief introduction to projective geometry, homogeneous vectors and homogeneous transformations at the end of this section's introduction. For more succinct notation, we often drop the 'homogeneous' and say vector instead of homogeneous vector |
►2D Features Framework | |
►Object Detection | |
►Deep Neural Network module | This module contains: |
Machine Learning | The Machine Learning Library (MLL) is a set of classes and functions for statistical classification, regression, and clustering of data |
Clustering and Search in Multi-Dimensional Spaces | This section documents OpenCV's interface to the FLANN library. FLANN (Fast Library for Approximate Nearest Neighbors) is a library that contains a collection of algorithms optimized for fast nearest neighbor search in large datasets and for high dimensional features. More information about FLANN can be found in [180] |
►Computational Photography | This module includes photo processing algorithms |
►Images stitching | This figure illustrates the stitching module pipeline implemented in the Stitcher class. Using that class it's possible to configure/remove some steps, i.e. adjust the stitching pipeline according to the particular needs. All building blocks from the pipeline are available in the detail namespace, one can combine and use them separately |
►G-API Core functionality | |
►G-API Image processing functionality | |
►G-API Drawing and composition functionality | Functions for in-graph drawing |
G-API Video processing functionality | |
►G-API framework | |
Alpha Matting | Alpha matting is used to extract a foreground object with soft boundaries from a background image |
ArUco Marker Detection | This module is dedicated to square fiducial markers (also known as Augmented Reality Markers) These markers are useful for easy, fast and robust camera pose estimation.รง |
Improved Background-Foreground Segmentation Methods | |
Biologically inspired vision models and derivated tools | The module provides biological visual systems models (human visual system and others). It also provides derivated objects that take advantage of those bio-inspired models |
Custom Calibration Pattern for 3D reconstruction | |
3D object recognition and pose estimation API | As CNN based learning algorithm shows better performance on the classification issues, the rich labeled data could be more useful in the training stage. 3D object classification and pose estimation is a jointed mission aiming at separate different posed apart in the descriptor form |
GUI for Interactive Visual Debugging of Computer Vision Programs | Namespace for all functions is cvv, i.e. cvv::showImage() |
►Framework for working with different datasets | The datasets module includes classes for working with different datasets: load data, evaluate different algorithms on them, contains benchmarks, etc |
DNN used for object detection | |
DNN used for super resolution | This module contains functionality for upscaling an image via convolutional neural networks. The following four models are implemented: |
Deformable Part-based Models | |
Face Analysis | |
Drawing UTF-8 strings with freetype/harfbuzz | This modules is to draw UTF-8 strings with freetype/harfbuzz |
►Image processing based on fuzzy mathematics | Namespace for all functions is ft . The module brings implementation of the last image processing algorithms based on fuzzy mathematics. Method are named based on the pattern FT _degree_dimension_ method |
►Hierarchical Data Format I/O routines | This module provides storage routines for Hierarchical Data Format objects |
Hierarchical Feature Selection for Efficient Image Segmentation | The opencv hfs module contains an efficient algorithm to segment an image. This module is implemented based on the paper Hierarchical Feature Selection for Efficient Image Segmentation, ECCV 2016. The original project was developed by Yun Liu(https://github.com/yun-liu/hfs) |
The module brings implementations of different image hashing algorithms. | Provide algorithms to extract the hash of images and fast way to figure out most similar images in huge data set |
The module brings implementations of intensity transformation algorithms to adjust image contrast. | Namespace for all functions is cv::intensity_transform |
Julia bindings for OpenCV | Julia (https://julialang.org) is a programming language for scientific community with growing popularity. These are bindings for a subset of OpenCV functionality, based on libcxxwrap-julia and CxxWrap packages |
Binary descriptors for lines extracted from an image | |
►Macbeth Chart module | |
Optical Flow Algorithms | Dense optical flow algorithms compute motion for each point: |
OGRE 3D Visualiser | Ovis is a simplified rendering wrapper around ogre3d. The Ogre terminology is used in the API and Ogre Script is assumed to be used for advanced customization |
Phase Unwrapping API | Two-dimensional phase unwrapping is found in different applications like terrain elevation estimation in synthetic aperture radar (SAR), field mapping in magnetic resonance imaging or as a way of finding corresponding pixels in structured light reconstruction with sinusoidal patterns |
Plot function for Mat data | |
Image Quality Analysis (IQA) API | |
silhouette based 3D object tracking | Implements "RAPID-a video rate object tracker" [102] with the dynamic control point extraction of [60] |
Image Registration | The Registration module implements parametric image registration. The implemented method is direct alignment, that is, it uses directly the pixel values for calculating the registration between a pair of images, as opposed to feature-based registration. The implementation follows essentially the corresponding part of [235] |
RGB-Depth Processing | |
Saliency API | Many computer vision applications may benefit from understanding where humans focus given a scene. Other than cognitively understanding the way human perceive images and scenes, finding salient regions and objects in the images helps various tasks such as speeding up object detection, object recognition, object tracking and content-aware image editing |
►Structure From Motion | The opencv_sfm module contains algorithms to perform 3d reconstruction from 2d images. The core of the module is based on a light version of Libmv originally developed by Sameer Agarwal and Keir Mierle |
Shape Distance and Matching | |
Stereo Correspondance Algorithms | |
Structured Light API | Structured light is considered one of the most effective techniques to acquire 3D models. This technique is based on projecting a light pattern and capturing the illuminated scene from one or more points of view. Since the pattern is coded, correspondences between image points and points of the projected pattern can be quickly found and 3D information easily retrieved |
Super Resolution | The Super Resolution module contains a set of functions and classes that can be used to solve the problem of resolution enhancement. There are a few methods implemented, most of them are described in the papers [70] and [176] |
Surface Matching | |
►Scene Text Detection and Recognition | The opencv_text module provides different algorithms for text detection and recognition in natural scene images |
►Tracking API | |
►Video Stabilization | The video stabilization module contains a set of functions and classes that can be used to solve the problem of video stabilization. There are a few methods implemented, most of them are described in the papers [167] and [99] . However, there are some extensions and deviations from the original paper methods |
►3D Visualizer | This section describes 3D visualization window as well as classes and methods that are used to interact with it |
WeChat QR code detector for detecting and parsing QR code. | |
►Extra 2D Features Framework | |
►Extended Image Processing | |
Extended object detection | |
Additional photo processing algorithms | |
Imgproc_hal_functions | |
Imgproc_hal_interface | |
Highgui_winrt | |
F1_math | |
F_image | |
Kinect_fusion | |
Simple_pipeline | |
Text_recognize | |
Videostab_marching | |
Xfeatures2d_nonfree | |
Xfeatures2d_match | |
Ximgproc_filters | |
Ximgproc_edge_drawing | |
Ximgproc_edgeboxes | |
Ximgproc_fast_line_detector | |
Ximgproc_fourier | |
Ximgproc_superpixel | |
Ximgproc_run_length_morphology | |
Ximgproc_segmentation |