> For the complete documentation index, see [llms.txt](https://wiki.hanzheteng.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.hanzheteng.com/development/opencv/documentation.md).

# Documentation

## Tutorials (v3.1.0)

### Introduction

* [Installation in Linux](https://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html)
* [Using OpenCV with gcc and CMake](https://docs.opencv.org/3.1.0/db/df5/tutorial_linux_gcc_cmake.html)
* [Load and Display an Image](https://docs.opencv.org/3.1.0/db/deb/tutorial_display_image.html)
* [Load, Modify, and Save an Image](https://docs.opencv.org/3.1.0/db/d64/tutorial_load_save_image.html)

### The Core Functionality (core module)

* [Mat - The Basic Image Container](https://docs.opencv.org/3.1.0/d6/d6d/tutorial_mat_the_basic_image_container.html)
* [How to scan images, lookup tables and time measurement](https://docs.opencv.org/3.1.0/db/da5/tutorial_how_to_scan_images.html)
* [Basic Drawing](https://docs.opencv.org/3.1.0/d3/d96/tutorial_basic_geometric_drawing.html)
* [Mask operations on matrices](https://docs.opencv.org/3.1.0/d7/d37/tutorial_mat_mask_operations.html) (a.k.a. Kernel operations)
* [File Input and Output using XML and YAML files](https://docs.opencv.org/3.1.0/dd/d74/tutorial_file_input_output_with_xml_yml.html) (cv::FileStorage data structure)

### Image Processing (imgproc module)

* [Smoothing Images](https://docs.opencv.org/3.1.0/dc/dd3/tutorial_gausian_median_blur_bilateral_filter.html) (cv::GaussianBlur, cv::bilateralFilter)
* [Image Pyramids](https://docs.opencv.org/3.1.0/d4/d1f/tutorial_pyramids.html)
* [Sobel Derivatives](https://docs.opencv.org/3.1.0/d2/d2c/tutorial_sobel_derivatives.html)
* [Hough Circle Transform](https://docs.opencv.org/3.1.0/d4/d70/tutorial_hough_circle.html)
* [Image Moments](https://docs.opencv.org/3.1.0/d0/d49/tutorial_moments.html)

### Camera calibration and 3D reconstruction (calib3d module)

* [Camera calibration with square chessboard](https://docs.opencv.org/3.1.0/dc/d43/tutorial_camera_calibration_square_chess.html)
* [Camera calibration With OpenCV](https://docs.opencv.org/3.1.0/d4/d94/tutorial_camera_calibration.html)
  \*

  ```
  Determine the distortion matrix
  ```

  * Determine the camera matrix
  * Take input from Camera, Video and Image file list
  * Read configuration from XML/YAML file
  * Save the results into XML/YAML file
  * Calculate re-projection error
* [Real time pose estimation of a textured object](https://docs.opencv.org/3.1.0/dc/d2c/tutorial_real_time_pose.html)
  \*

  ```
  Read 3D textured object model and object mesh.
  ```

  * Take input from Camera or Video.
  * Extract ORB features and descriptors from the scene.
  * Match scene descriptors with model descriptors using Flann matcher.
  * Pose estimation using PnP + Ransac.
  * Linear Kalman Filter for bad poses rejection.

### 2D Features framework (feature2d module)

* [Harris corner detector](https://docs.opencv.org/3.1.0/d4/d7d/tutorial_harris_detector.html)
* [Creating your own corner detector](https://docs.opencv.org/3.1.0/d9/dbc/tutorial_generic_corner_detector.html)
* [Feature Detection](https://docs.opencv.org/3.1.0/d7/d66/tutorial_feature_detection.html)
* [Feature Description](https://docs.opencv.org/3.1.0/d5/dde/tutorial_feature_description.html)
  * [Feature Matching with FLANN](https://docs.opencv.org/3.1.0/d5/d6f/tutorial_feature_flann_matcher.html)
* [Features2D + Homography to find a known object](https://docs.opencv.org/3.1.0/d7/dff/tutorial_feature_homography.html) (transformation estimation)
* [AKAZE and ORB planar tracking](https://docs.opencv.org/3.1.0/dc/d16/tutorial_akaze_tracking.html)

### Tutorials for contrib modules

* [ArUco marker detection (aruco module)](https://docs.opencv.org/3.1.0/d9/d6d/tutorial_table_of_content_aruco.html)
* [Line Features Tutorial](https://docs.opencv.org/3.1.0/df/dfa/tutorial_line_descriptor_main.html)
* [Structure From Motion](https://docs.opencv.org/3.1.0/de/d7c/tutorial_table_of_content_sfm.html)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.hanzheteng.com/development/opencv/documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
