"OpenCV Introductory Tutorial II" List of the mountains small: OpenCV 2.4.8 or OpenCV 2.4.9 component structure full analysis (go), opencv2.4.9_php tutorial

Source: Internet
Author: User

"OpenCV Introductory Tutorial II" List of the mountains small: OpenCV 2.4.8 or OpenCV 2.4.9 component structure full analysis (go), opencv2.4.9


This series of articles is written by zhmxy555 (Mao), please specify the source.

Article Link: http://blog.csdn.net/poem_qianmo/article/details/19925819

Author: Mao (Light ink) e-mail: happylifemxy@163.com

When writing the current blog post, use OPENCV version: 2.4.8

Before eating a lot of OpenCV official documents, found that if you understand some OPENCV the overall module architecture, then focus on learning the parts of their interest, there will be a list of the mountain small feeling, so, decided to write this article, as the departure OPENCV series of blog post second.

As for the research method of the OPENCV component structure, we may as well glimpse, through the OPENCV installation path under the Include directory inside the header file classification storage, to glimpse OPENCV These years rapid development of the complex component architecture.

We go to the D:\ProgramFiles\opencv\build\include directory and we can see the two folders with OpenCV and Opencv2. Obviously, the OpenCV in this folder contain the old version of the header file. and Opencv2 This folder has a new version of the OpenCV2 series header files.

In OpenCV This folder, that is, D:\Program FILES\OPENCV\BUILD\INCLUDE\OPENCV directory, you can see the following various header files. This is probably the OPENCV 1.0 core, and the contents of the header files, you can understand them as a whole component.

Take a look at our focus on the Opencv2 side, in the D:\ProgramFiles\opencv\build\include\opencv2 directory, we can see these folders:

We brainwave, found below a opencv_modules.hpp called the hpp file, a look at the inside is stored in the Opencv2 of the new module construction related code, open a look, sure enough, the definition is OpenCV2 all components of the macro:

[CPP]View Plaincopyprint?
  1. /*
  2. * * * * File generated automatically, do not modify * *
  3. *
  4. *this file defines the list of modules available in current build configuration
  5. *
  6. *
  7. */
  8. #define Have_opencv_calib3d
  9. #define Have_opencv_contrib
  10. #define Have_opencv_core
  11. #define Have_opencv_features2d
  12. #define Have_opencv_flann
  13. #define Have_opencv_gpu
  14. #define Have_opencv_highgui
  15. #define Have_opencv_imgproc
  16. #define Have_opencv_legacy
  17. #define HAVE_OPENCV_ML
  18. #define Have_opencv_nonfree
  19. #define Have_opencv_objdetect
  20. #define HAVE_OPENCV_OCL
  21. #define Have_opencv_photo
  22. #define Have_opencv_stitching
  23. #define Have_opencv_superres
  24. #define Have_opencv_ts
  25. #define Have_opencv_video
  26. #define Have_opencv_videostab

OK, not much courtesy, the following is the OpenCV of all the module introduction, in order to:

"Calib3d"-in fact, is the calibration (calibration) plus 3D The combination of two words abbreviation. This module is mainly about camera calibration and three-dimensional reconstruction. The basic multi-View geometry algorithm, single stereo camera calibration, object attitude estimation, stereo similarity algorithm, 3D information reconstruction and so on.

"Contrib"-the abbreviation for Contributed/experimental Stuf, which contains some of the most recently added, less-stable optional features, without the need for multi-tube. 2.4. This module in 8 has a new type of face recognition, stereo matching, artificial retina model and other technologies.

The core function module contains the following content:

  • OPENCV BASIC Data structure
  • Dynamic Data Structures
  • Drawing functions
  • Array manipulation related functions
  • accessibility features and system functions and macros
  • Interoperability with OpenGL

The abbreviated combination of the two words "Imgproc"--image and processing. Image processing module, this module contains the following content:

  • Linear and non-linear image filtering
  • Geometric transformations of images
  • Other (miscellaneous) image conversion
  • Histogram correlation
  • Structural analysis and Shape description
  • Motion Analysis and Object tracking
  • Feature detection
  • Target detection and other content

"Features2d"-that is, FEATURES2D, 2D functional framework, contains the following:

   
    
    
  • Feature detection and description
  • Feature detector (Feature detectors) Universal interface
  • Descriptor Extractor (descriptor extractors) Universal interface
  • Descriptor Match (Descriptor Matchers) Universal interface
  • Universal Descriptor (Generic descriptor) Matching Universal interface
  • Key point drawing function and matching function drawing function

The "Flann"--fast library for approximate Nearest neighbors, a high-dimensional approximate nearest neighbor Fast search algorithm repository, contains two sections:

  • Fast approximate nearest neighbor search
  • Clustering

"GPU"--a computer vision module using GPU acceleration

"Highgui"-that is, high GUI, GUI graphical user interface, including media input and output of I/O, video capture, encoding and decoding of image and video, interface of graphic interface, etc.

   
    
    
  • Motion Analysis
  • Maximizing expectations
  • Histogram
  • Planar subdivision (C API)
  • Feature detection and description (Feature Detection and Description)
  • Generic interface for Descriptor Extractor (descriptor extractors)
  • Common interface for common descriptors (Generic descriptor matchers)
  • Matching device

"ML"--machine learning, the machine learning module, is basically a statistical model and classification algorithm, which contains the following:

  • Statistical models (statistical Models)
  • General Bayesian classifier (normal Bayes Classifier)
  • K-Nearest neighbor (K-nearestneighbors)
  • Support vector machines (supported vectors machines)
  • Decision Tree (decision Trees)
  • Lift (boosting)
  • Gradient Enhancement Tree (Gradient Boosted Trees)
  • Stochastic tree (random Trees)
  • Super Random tree (extremely randomized trees)
  • Desired maximization (expectation maximization)
  • Neural network (neural Networks)
  • Mldata

"Nonfree", which is a patented algorithm module, contains feature detection and GPU-related content. Preferably not commercial, may be accused oh.

"Objdetect"-the target detection module, which contains the two parts of Cascade classification (cascading classification) and latent SVM.

"OCL"--opencl-accelerated computer vision, a computer Vision component module using OPENCL acceleration

"Photo"--that is, computational photography, contains image repair and image denoising two parts

"Stitching"--images stitching, Image mosaic module, contains the following sections:

  • Splicing Line
  • Features to find and match images
  • Estimated rotation
  • Automatic calibration
  • Picture Skew
  • Seam estimation
  • Exposure compensation
  • Picture blending

"Superres"--superresolution, the related function module of super-resolution technology

"TS"--OPENCV test the relevant code, no need to control him

Video analysis component, which includes motion estimation, background separation, object tracking and other video processing related content.

"Videostab"--video stabilization, video stability-related components, no more introductions in official documents, no matter what it is.

See here, I believe you have a OPENCV module architecture design has a certain understanding.

OpenCV is actually so many modules as a code container to combine the SDK just, nothing unusual, right.

Finally, with a picture, to raise the eye-candy:

Well, that's probably what OpenCV's component structure describes.

See the following article:)

http://www.bkjia.com/PHPjc/1080763.html www.bkjia.com true http://www.bkjia.com/PHPjc/1080763.html techarticle "OpenCV Introductory Tutorial II" List of the mountains small: OpenCV 2.4.8 or OpenCV 2.4.9 component structure full analysis (go), opencv2.4.9 this series of articles by zhmxy555 (Mao), reproduced please note ...

  • 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.