mirror of
https://github.com/zebrajr/opencv.git
synced 2025-12-06 12:19:50 +01:00
Merge pull request #26441 from sturkmen72:upd_tutorials
Update tutorials #26441 ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [ ] The feature is well documented and sample code can be built with the project CMake
This commit is contained in:
parent
1f63b986a1
commit
656038346b
|
|
@ -148,7 +148,7 @@ picture in memory.
|
||||||
Creating a Mat object explicitly
|
Creating a Mat object explicitly
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
In the @ref tutorial_load_save_image tutorial you have already learned how to write a matrix to an image
|
In the @ref tutorial_display_image tutorial you have already learned how to write a matrix to an image
|
||||||
file by using the @ref cv::imwrite() function. However, for debugging purposes it's much more
|
file by using the @ref cv::imwrite() function. However, for debugging purposes it's much more
|
||||||
convenient to see the actual values. You can do this using the \<\< operator of *Mat*. Be aware that
|
convenient to see the actual values. You can do this using the \<\< operator of *Mat*. Be aware that
|
||||||
this only works for two dimensional matrices.
|
this only works for two dimensional matrices.
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,17 @@
|
||||||
The Core Functionality (core module) {#tutorial_table_of_content_core}
|
The Core Functionality (core module) {#tutorial_table_of_content_core}
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
|
##### Basic
|
||||||
- @subpage tutorial_mat_the_basic_image_container
|
- @subpage tutorial_mat_the_basic_image_container
|
||||||
- @subpage tutorial_how_to_scan_images
|
- @subpage tutorial_how_to_scan_images
|
||||||
- @subpage tutorial_mat_mask_operations
|
- @subpage tutorial_mat_mask_operations
|
||||||
- @subpage tutorial_mat_operations
|
- @subpage tutorial_mat_operations
|
||||||
- @subpage tutorial_adding_images
|
- @subpage tutorial_adding_images
|
||||||
- @subpage tutorial_basic_linear_transform
|
- @subpage tutorial_basic_linear_transform
|
||||||
|
|
||||||
|
##### Advanced
|
||||||
- @subpage tutorial_discrete_fourier_transform
|
- @subpage tutorial_discrete_fourier_transform
|
||||||
- @subpage tutorial_file_input_output_with_xml_yml
|
- @subpage tutorial_file_input_output_with_xml_yml
|
||||||
- @subpage tutorial_how_to_use_OpenCV_parallel_for_new
|
- @subpage tutorial_how_to_use_OpenCV_parallel_for_new
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
Deep Neural Networks (dnn module) {#tutorial_table_of_content_dnn}
|
Deep Neural Networks (dnn module) {#tutorial_table_of_content_dnn}
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
- @subpage tutorial_dnn_googlenet
|
- @subpage tutorial_dnn_googlenet
|
||||||
- @subpage tutorial_dnn_halide
|
- @subpage tutorial_dnn_halide
|
||||||
- @subpage tutorial_dnn_halide_scheduling
|
- @subpage tutorial_dnn_halide_scheduling
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,15 @@
|
||||||
Image Processing (imgproc module) {#tutorial_table_of_content_imgproc}
|
Image Processing (imgproc module) {#tutorial_table_of_content_imgproc}
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
Basic
|
@tableofcontents
|
||||||
-----
|
|
||||||
|
The imgproc module in OpenCV is a collection of per-pixel image operations (color conversions, filters) drawing (contours, objects, text), and
|
||||||
|
geometry transformations (warping, resize) useful for computer vision.
|
||||||
|
Here's an overview of the content in the imgproc module, categorized for easier navigation:
|
||||||
|
|
||||||
|
##### Basic
|
||||||
|
These tutorials cover fundamental image processing tasks, such as drawing on images, applying filters, and morphological operations.
|
||||||
|
|
||||||
- @subpage tutorial_basic_geometric_drawing
|
- @subpage tutorial_basic_geometric_drawing
|
||||||
- @subpage tutorial_random_generator_and_text
|
- @subpage tutorial_random_generator_and_text
|
||||||
- @subpage tutorial_gausian_median_blur_bilateral_filter
|
- @subpage tutorial_gausian_median_blur_bilateral_filter
|
||||||
|
|
@ -14,8 +21,9 @@ Basic
|
||||||
- @subpage tutorial_threshold
|
- @subpage tutorial_threshold
|
||||||
- @subpage tutorial_threshold_inRange
|
- @subpage tutorial_threshold_inRange
|
||||||
|
|
||||||
Transformations
|
##### Transformations
|
||||||
---------------
|
These tutorials explore more advanced transformations that modify the image in various ways, such as filtering, warping, and edge detection.
|
||||||
|
|
||||||
- @subpage tutorial_filter_2d
|
- @subpage tutorial_filter_2d
|
||||||
- @subpage tutorial_copyMakeBorder
|
- @subpage tutorial_copyMakeBorder
|
||||||
- @subpage tutorial_sobel_derivatives
|
- @subpage tutorial_sobel_derivatives
|
||||||
|
|
@ -27,16 +35,18 @@ Transformations
|
||||||
- @subpage tutorial_remap
|
- @subpage tutorial_remap
|
||||||
- @subpage tutorial_warp_affine
|
- @subpage tutorial_warp_affine
|
||||||
|
|
||||||
Histograms
|
##### Histograms
|
||||||
----------
|
Histograms are vital for image analysis, and these tutorials cover operations like equalization, comparison, and back projection.
|
||||||
|
|
||||||
- @subpage tutorial_histogram_equalization
|
- @subpage tutorial_histogram_equalization
|
||||||
- @subpage tutorial_histogram_calculation
|
- @subpage tutorial_histogram_calculation
|
||||||
- @subpage tutorial_histogram_comparison
|
- @subpage tutorial_histogram_comparison
|
||||||
- @subpage tutorial_back_projection
|
- @subpage tutorial_back_projection
|
||||||
- @subpage tutorial_template_matching
|
- @subpage tutorial_template_matching
|
||||||
|
|
||||||
Contours
|
##### Contours
|
||||||
--------
|
Contours are curves that represent the boundaries of objects in an image. These tutorials cover techniques to detect and analyze contours.
|
||||||
|
|
||||||
- @subpage tutorial_find_contours
|
- @subpage tutorial_find_contours
|
||||||
- @subpage tutorial_hull
|
- @subpage tutorial_hull
|
||||||
- @subpage tutorial_bounding_rects_circles
|
- @subpage tutorial_bounding_rects_circles
|
||||||
|
|
@ -44,8 +54,9 @@ Contours
|
||||||
- @subpage tutorial_moments
|
- @subpage tutorial_moments
|
||||||
- @subpage tutorial_point_polygon_test
|
- @subpage tutorial_point_polygon_test
|
||||||
|
|
||||||
Others
|
##### Others
|
||||||
------
|
These tutorials cover specialized image processing techniques for more complex tasks like deblurring, noise removal, and image segmentation.
|
||||||
|
|
||||||
- @subpage tutorial_distance_transform
|
- @subpage tutorial_distance_transform
|
||||||
- @subpage tutorial_out_of_focus_deblur_filter
|
- @subpage tutorial_out_of_focus_deblur_filter
|
||||||
- @subpage tutorial_motion_deblur_filter
|
- @subpage tutorial_motion_deblur_filter
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Introduction into Android Development {#tutorial_android_dev_intro}
|
||||||
| Original author | Rostislav Vasilikhin |
|
| Original author | Rostislav Vasilikhin |
|
||||||
| Compatibility | OpenCV >= 4.0 |
|
| Compatibility | OpenCV >= 4.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
This guide was designed to help you in learning Android development basics and setting up your
|
This guide was designed to help you in learning Android development basics and setting up your
|
||||||
working environment quickly. It was tested with Ubuntu 22.04 and Windows 10.
|
working environment quickly. It was tested with Ubuntu 22.04 and Windows 10.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@
|
||||||
| Original author | Dmitry Kurtaev |
|
| Original author | Dmitry Kurtaev |
|
||||||
| Compatibility | OpenCV >= 4.9 |
|
| Compatibility | OpenCV >= 4.9 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
In this tutorial you'll know how to run deep learning networks on Android device
|
In this tutorial you'll know how to run deep learning networks on Android device
|
||||||
using OpenCV deep learning module.
|
using OpenCV deep learning module.
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Use OpenCL in Android camera preview based CV application {#tutorial_android_ocl
|
||||||
| Original author | Andrey Pavlenko, Alexander Panov |
|
| Original author | Andrey Pavlenko, Alexander Panov |
|
||||||
| Compatibility | OpenCV >= 4.9 |
|
| Compatibility | OpenCV >= 4.9 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
This guide was designed to help you in use of [OpenCL ™](https://www.khronos.org/opencl/) in Android camera preview based CV application.
|
This guide was designed to help you in use of [OpenCL ™](https://www.khronos.org/opencl/) in Android camera preview based CV application.
|
||||||
Tutorial was written for [Android Studio](http://developer.android.com/tools/studio/index.html) 2022.2.1. It was tested with Ubuntu 22.04.
|
Tutorial was written for [Android Studio](http://developer.android.com/tools/studio/index.html) 2022.2.1. It was tested with Ubuntu 22.04.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Android Development with OpenCV {#tutorial_dev_with_OCV_on_Android}
|
||||||
| Original authors | Alexander Panov, Rostislav Vasilikhin |
|
| Original authors | Alexander Panov, Rostislav Vasilikhin |
|
||||||
| Compatibility | OpenCV >= 4.9.0 |
|
| Compatibility | OpenCV >= 4.9.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
This tutorial has been created to help you use OpenCV library within your Android project.
|
This tutorial has been created to help you use OpenCV library within your Android project.
|
||||||
|
|
||||||
This guide was checked on Ubuntu but contains no platform-dependent parts, therefore should be compatible with any OS supported by Android Studio and OpenCV4Android SDK.
|
This guide was checked on Ubuntu but contains no platform-dependent parts, therefore should be compatible with any OS supported by Android Studio and OpenCV4Android SDK.
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Introduction to OpenCV Development with Clojure {#tutorial_clojure_dev_intro}
|
||||||
| Original author | Mimmo Cosenza |
|
| Original author | Mimmo Cosenza |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Cross compilation for ARM based Linux systems {#tutorial_arm_crosscompile_with_c
|
||||||
| Original author | Alexander Smorkalov |
|
| Original author | Alexander Smorkalov |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
| Compatibility | Ubuntu >=23.04 |
|
| Compatibility | Ubuntu >=23.04 |
|
||||||
|^ | OpenCV >=4.8.0 |
|
|^ | OpenCV >=4.8.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial may contain obsolete information.
|
This tutorial may contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Introduction to Java Development {#tutorial_java_dev_intro}
|
||||||
| Original author | Eric Christiansen and Andrey Pavlenko |
|
| Original author | Eric Christiansen and Andrey Pavlenko |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Getting Started with Images {#tutorial_display_image}
|
||||||
| Original author | Ana Huamán |
|
| Original author | Ana Huamán |
|
||||||
| Compatibility | OpenCV >= 3.4.4 |
|
| Compatibility | OpenCV >= 3.4.4 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Using OpenCV Java with Eclipse {#tutorial_java_eclipse}
|
||||||
| Original author | Barış Evrim Demiröz |
|
| Original author | Barış Evrim Demiröz |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Using OpenCV with Eclipse (plugin CDT) {#tutorial_linux_eclipse}
|
||||||
| Original author | Ana Huamán |
|
| Original author | Ana Huamán |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Using OpenCV with gcc and CMake {#tutorial_linux_gcc_cmake}
|
||||||
| Original author | Ana Huamán |
|
| Original author | Ana Huamán |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
Installation in Linux {#tutorial_linux_install}
|
Installation in Linux {#tutorial_linux_install}
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
@prev_tutorial{tutorial_env_reference}
|
||||||
@next_tutorial{tutorial_linux_gdb_pretty_printer}
|
@next_tutorial{tutorial_linux_gdb_pretty_printer}
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
Introduction to OpenCV {#tutorial_table_of_content_introduction}
|
Introduction to OpenCV {#tutorial_table_of_content_introduction}
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
- @subpage tutorial_general_install
|
- @subpage tutorial_general_install
|
||||||
- @subpage tutorial_config_reference
|
- @subpage tutorial_config_reference
|
||||||
- @subpage tutorial_env_reference
|
- @subpage tutorial_env_reference
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Installation in Windows {#tutorial_windows_install}
|
||||||
| Original author | Bernát Gábor |
|
| Original author | Bernát Gábor |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ Image Watch: viewing in-memory images in the Visual Studio debugger {#tutorial_w
|
||||||
| Original author | Wolf Kienzle |
|
| Original author | Wolf Kienzle |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ How to build applications with OpenCV inside the "Microsoft Visual Studio" {#tut
|
||||||
| Original author | Bernát Gábor |
|
| Original author | Bernát Gábor |
|
||||||
| Compatibility | OpenCV >= 3.0 |
|
| Compatibility | OpenCV >= 3.0 |
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
@warning
|
@warning
|
||||||
This tutorial can contain obsolete information.
|
This tutorial can contain obsolete information.
|
||||||
|
|
||||||
|
|
@ -70,7 +72,7 @@ create it. Then in the upcoming dialog make sure you create an empty project.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The *local* method
|
The local method
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Every project is built separately from the others. Due to this every project has its own rule
|
Every project is built separately from the others. Due to this every project has its own rule
|
||||||
|
|
@ -179,7 +181,7 @@ entry inside the Property Manager to easily add the OpenCV build rules.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The *global* method
|
The global method
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
In case you find it too troublesome to add the property pages to each and every one of your projects you
|
In case you find it too troublesome to add the property pages to each and every one of your projects you
|
||||||
|
|
|
||||||
|
|
@ -3556,7 +3556,7 @@ public:
|
||||||
/** @brief Matrix expression representation
|
/** @brief Matrix expression representation
|
||||||
@anchor MatrixExpressions
|
@anchor MatrixExpressions
|
||||||
This is a list of implemented matrix operations that can be combined in arbitrary complex
|
This is a list of implemented matrix operations that can be combined in arbitrary complex
|
||||||
expressions (here A, B stand for matrices ( Mat ), s for a scalar ( Scalar ), alpha for a
|
expressions (here A, B stand for matrices ( cv::Mat ), s for a cv::Scalar, alpha for a
|
||||||
real-valued scalar ( double )):
|
real-valued scalar ( double )):
|
||||||
- Addition, subtraction, negation: `A+B`, `A-B`, `A+s`, `A-s`, `s+A`, `s-A`, `-A`
|
- Addition, subtraction, negation: `A+B`, `A-B`, `A+s`, `A-s`, `s+A`, `s-A`, `-A`
|
||||||
- Scaling: `A*alpha`
|
- Scaling: `A*alpha`
|
||||||
|
|
@ -3571,13 +3571,13 @@ real-valued scalar ( double )):
|
||||||
0.
|
0.
|
||||||
- Bitwise logical operations: `A logicop B`, `A logicop s`, `s logicop A`, `~A`, where *logicop* is one of
|
- Bitwise logical operations: `A logicop B`, `A logicop s`, `s logicop A`, `~A`, where *logicop* is one of
|
||||||
`&`, `|`, `^`.
|
`&`, `|`, `^`.
|
||||||
- Element-wise minimum and maximum: `min(A, B)`, `min(A, alpha)`, `max(A, B)`, `max(A, alpha)`
|
- Element-wise minimum and maximum: cv::min(A, B), cv::min(A, alpha), cv::max(A, B), cv::max(A, alpha)
|
||||||
- Element-wise absolute value: `abs(A)`
|
- Element-wise absolute value: cv::abs(A)
|
||||||
- Cross-product, dot-product: `A.cross(B)`, `A.dot(B)`
|
- Cross-product, dot-product: `A.cross(B)`, `A.dot(B)`
|
||||||
- Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as norm,
|
- Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as cv::norm,
|
||||||
mean, sum, countNonZero, trace, determinant, repeat, and others.
|
cv::mean, cv::sum, cv::countNonZero, cv::trace, cv::determinant, cv::repeat, and others.
|
||||||
- Matrix initializers ( Mat::eye(), Mat::zeros(), Mat::ones() ), matrix comma-separated
|
- Matrix initializers ( Mat::eye(), Mat::zeros(), Mat::ones() ), matrix comma-separated
|
||||||
initializers, matrix constructors and operators that extract sub-matrices (see Mat description).
|
initializers, matrix constructors and operators that extract sub-matrices (see cv::Mat description).
|
||||||
- Mat_<destination_type>() constructors to cast the result to the proper type.
|
- Mat_<destination_type>() constructors to cast the result to the proper type.
|
||||||
@note Comma-separated initializers and probably some other operations may require additional
|
@note Comma-separated initializers and probably some other operations may require additional
|
||||||
explicit Mat() or Mat_<T>() constructor calls to resolve a possible ambiguity.
|
explicit Mat() or Mat_<T>() constructor calls to resolve a possible ambiguity.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user