Cpp Opencv Basic Modules
OpenCV is a powerful computer vision library with multiple modules, each focusing on different tasks.
The following are some core modules in OpenCV:
| **Module Name** | **Main Functions** | **Common Classes/Functions** |
| --- | --- | --- |
| **Core** | Provides basic data structures and functions, such as image storage, matrix operations, file I/O, etc. | `Mat`, `Point`, `Size`, `Rect`, `Scalar`, `FileStorage`, `cv::format` |
| **Imgproc** | Image processing functions including filtering, geometric transformations, color space conversions, edge detection, morphological operations, thresholding, etc. | `cvtColor`, `GaussianBlur`, `Canny`, `threshold`, `resize`, `warpAffine` |
| **Highgui** | Image and video display, window management, user interaction (such as mouse events, trackbars). | `imshow`, `namedWindow`, `waitKey`, `createTrackbar`, `setMouseCallback` |
| **Video** | Video processing functions including video capture, background subtraction, optical flow calculation, etc. | `VideoCapture`, `VideoWriter`, `BackgroundSubtractor`, `calcOpticalFlowPyrLK` |
| **Calib3d** | Camera calibration, 3D reconstruction, pose estimation, etc. | `findChessboardCorners`, `calibrateCamera`, `solvePnP`, `recoverPose` |
| **Features2d** | Feature detection and description, including keypoint detection, feature matching, etc. | `ORB`, `SIFT`, `SURF`, `BFMatcher`, `FlannBasedMatcher` |
| **Objdetect** | Object detection functions, such as Haar cascade detection, HOG detection, etc. | `CascadeClassifier`, `HOGDescriptor` |
| **DNN** | Loading and inference of deep learning models, supporting TensorFlow, PyTorch, Caffe and other frameworks. | `readNet`, `blobFromImage`, `Net::forward` |
| **ML** | Machine learning algorithms, such as KNN, SVM, Decision Trees, etc. | `KNearest`, `SVM`, `DTrees`, `TrainData` |
| **Flann** | Fast Approximate Nearest Neighbor Search (FLANN), used for feature matching and high-dimensional data search. | `Index`, `KDTreeIndexParams`, `SearchParams` |
| **Photo** | Image inpainting, denoising, HDR imaging, etc. | `inpaint`, `fastNlMeansDenoising`, `createTonemap` |
| **Stitching** | Image stitching function for creating panoramic images. | `Stitcher`, `Stitcher::create` |
| **Shape** | Shape analysis and matching. | `ShapeDistanceExtractor`, `ShapeContextDistanceExtractor` |
| **Tracking** | Object tracking algorithms, such as MIL, KCF, GOTURN, etc. | `TrackerMIL`, `TrackerKCF`, `TrackerGOTURN` |
| **Videoio** | Video input and output functions, supporting multiple video formats and cameras. | `VideoCapture`, `VideoWriter`, `CAP_PROP_FRAME_WIDTH`, `CAP_PROP_FRAME_HEIGHT` |
| **Imgcodecs** | Reading and saving image files, supporting multiple image formats. | `imread`, `imwrite`, `imdecode`, `imencode` |
| **Xfeatures2d** | Additional feature detection and description algorithms, such as SIFT, SURF, FREAK, etc. | `SIFT`, `SURF`, `FREAK`, `DAISY` |
| **Superres** | Super-resolution image processing. | `SuperResolution`, `DenseOpticalFlowExt` |
| **Optflow** | Optical flow calculation and motion analysis. | `calcOpticalFlowFarneback`, `calcOpticalFlowPyrLK` |
| **Cuda** | GPU-accelerated computer vision algorithms. | `cuda::GpuMat`, `cuda::Stream`, `cuda::resize` |
|
YouTip