OPENCV Study Notes (ii)--OPENCV overall structure

Source: Internet
Author: User
Tags data structures svm

Summary:

Due to the recent AR (augmented reality) concept is very hot, a variety of AR-based applications and games are gradually facing the public, and in the AR is the most important two technology is tracking recognition and enhanced rendering, in which tracking recognition is through OPENCV this open-source computer vision Library to achieve, so I want to study this library, Here is a personal study note, not an authoritative tutorial, if you have errors also trouble to help me point out Kazakhstan.

============================================= Split Line ==================================================


Preface:

In the specific learning OPENCV specific functional blocks, we first look at the OpenCV source of the overall framework, so that we can also facilitate the study in the back to get clearer ideas.


I. Structure of the document:

To understand the overall framework, the pointcut is in the Include folder under the Opencv/build directory, because this contains all the OpenCV source header files. Include below are two folders: OpenCV and Opencv2:

It is not difficult to see, OpenCV is stored in the old version of the portion of the OpenCV of the header files, and Opencv2 is included in the revised OpenCV2 of the various header files.


1.OPENCV file directory:


2.opencv2 file directory:

Under this folder, we can see a lot of sub-Files directory, these directories are based on the function module for header file integration, the same function block is placed under the same subdirectory, where opencv_modules.hpp this header file, defines all the modules in the OPENCV2 macros:


second, the function module:

The above introduction we introduce the file structure, in fact, also said that Opencv2 in each sub-folder corresponding to a function module, then we will look at each function module specific role, red as the most commonly used library files:

1. "Calib3d"

Calibration, camera calibration and three-dimensional reconstruction, including: Basic multi-view geometry algorithm, single stereo camera calibration, object attitude estimation, stereo similarity algorithm, 3D information reconstruction, etc.

2. "Core"

Core code blocks, including: OPENCV basic data structures, dynamic data structures, plotting functions, array manipulation related functions, accessibility and system functions and macros, and interaction with OpenGL

3. "Features2d"

2D Functional Framework comprising: feature detection and description, feature detector (Feature detectors) Universal Interface, descriptor extractor (descriptor extrators) Universal interface, descriptor match (Descriptor Matchers) Universal interface, Universal Descriptor (Generic descriptor) match common interface, key point drawing function and matching function drawing function

4. "Flann"

Fast Library for approximate Nearest neighbors, high-dimensional approximate nearest neighbor Quick Search algorithm repository, contains: fast approximate nearest-to-last-lead search and clustering

5. "Highgui"

High-level GUI graphical user interface including: I/O input and output of media, video capture, encoding and decoding of image and video, interface of graphical interface, etc.

6. "Imgcodecs"

7. "Imgproc"

Image processing, graphics processing module, includes: Linear and non-linear filtering of images, geometric transformations of images, other image transformations, histogram correlation, structural analysis and shape description, motion analysis and object tracking, feature detection, target detection, etc.

8. "ML"

Machine learning module, learning, is basically statistical model and classification algorithm, including: Statistical model (Statistical Models), General Bayesian classifier (normal Bayes Classifier), K-Nearest neighbor (k-nearestneighbors), SVM (Support vector machines), decision Tree (decision Trees), elevation (boosting), gradient enhancement tree (Gradient Boosted Trees), Random Trees, Hyper-random tree (extremely randomized Trees), desired maximization (expectation maximization), neural network (neural Networks), Mldata

9. "Objdetect"

Target detection module, including: Cascade classification (cascading classification) and latent SVM

10. "Photo"

Computational photography, computer photography module, contains: Image restoration and Image denoising

11. "Shape"

Graphics Drawing Module

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.