PYTHON-OPENCV Study (i): OPENCV structure

Source: Internet
Author: User

Reprint Please specify source: Danscarlett's Blog Park
 OpenCV is the most widely used open source toolkit in the field of computer vision, based on C + +, supports Linux/windows/macos/android/ios, and provides interfaces to languages such as Python,matlab and Java. 2010 OPENCV released the 2.0 version, added a very complete C + + interface, from 2.0 onwards the version of the very user is very large, is still maintained and updated. The 2015 OPENCV 3 was officially released, with the addition of more algorithms, more performance optimizations and more streamlined APIs, as well as improved GPU support, which has now been applied in many research institutions and commercial companies. More features and more convenient features are available compared to opencv2,opencv3. However, considering the compatibility with the deep learning framework and the difficulty of getting started, this part first introduces 2.  depending on the functionality and requirements, the function interfaces in OpenCV can be broadly divided into the following sections:
    • Core module, which mainly contains the most basic structures (matrices, dots, shapes, etc.) in OpenCV, as well as related basic operations/operations.
    • Imgproc: Image processing module, which contains basic functions related to image (filtering, gradients, resizing, etc.), as well as some derivative advanced functions (image segmentation, histogram, morphological analysis and edge/line extraction, etc.).
    • Highgui: Provides the basic functions of user interface and file reading, such as the generation and control of display windows, IO of image/video files, etc.
 OpenCV also provides strong support for video and some special visual applications:
  • -Video: Common features used for visual analysis, such as optical flow (Optical flow) and target tracking.
  • -Calib3d: three-dimensional reconstruction, stereo vision and camera calibration and other related functions.
  • -features2d: Features related to two-dimensional features, mainly the non-patented, commercial-friendly feature point detection and matching functions such as Orb features.
  • -Object: Target detection module with cascade classification and latent SVM
  • -ML: Machine learning algorithm module, which contains some of the most commonly used traditional machine learning algorithms in vision.
  • -Flann: Nearest neighbor Algorithm library, Fast library for approximate Nearest neighbors, used for clustering and retrieval in multidimensional space, often paired with key point matching.
  • -GPU: Contains some GPU-accelerated interfaces, and the underlying acceleration is CUDA implementations.
  • -Photo: Computational Camera Science (computational photography) related interface, of course, this is only a name, in fact, only image repair and noise reduction.
  • -Stitching: Image mosaic module, with which it can generate panoramic photos on its own.
  • -nonfree: Some algorithms that are protected by patents are actually sift and surf.
  • -Contrib: Some experimental algorithms are considered for inclusion in a future release.
  • -Legacy: Literally a legacy, meaning that some of the discarded interfaces are retained to be considered backwards compatible.
  • -OCL: Some interfaces that use OpenCL to accelerate in parallel.
  • -Superres: Super-resolution module, is actually BTV-L1 (biliteral total variation–l1 regularization) algorithm
  • -viz: basic 3D Rendering module, in fact, the bottom is the famous 3D Toolkit VTK (visualization Toolkit).
 

Resources:

The Python quick tutorial for beginners in deep learning-the PYTHON-OPENCV of the outer chapter 

PYTHON-OPENCV Study (i): OPENCV structure

Related Article

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.