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:
Suleyman TURKMEN 2025-03-11 16:17:21 +03:00 committed by GitHub
parent 1f63b986a1
commit 656038346b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 70 additions and 19 deletions

View File

@ -148,7 +148,7 @@ picture in memory.
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
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.

View File

@ -1,12 +1,17 @@
The Core Functionality (core module) {#tutorial_table_of_content_core}
=====================================
@tableofcontents
##### Basic
- @subpage tutorial_mat_the_basic_image_container
- @subpage tutorial_how_to_scan_images
- @subpage tutorial_mat_mask_operations
- @subpage tutorial_mat_operations
- @subpage tutorial_adding_images
- @subpage tutorial_basic_linear_transform
##### Advanced
- @subpage tutorial_discrete_fourier_transform
- @subpage tutorial_file_input_output_with_xml_yml
- @subpage tutorial_how_to_use_OpenCV_parallel_for_new

View File

@ -1,6 +1,8 @@
Deep Neural Networks (dnn module) {#tutorial_table_of_content_dnn}
=====================================
@tableofcontents
- @subpage tutorial_dnn_googlenet
- @subpage tutorial_dnn_halide
- @subpage tutorial_dnn_halide_scheduling

View File

@ -1,8 +1,15 @@
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_random_generator_and_text
- @subpage tutorial_gausian_median_blur_bilateral_filter
@ -14,8 +21,9 @@ Basic
- @subpage tutorial_threshold
- @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_copyMakeBorder
- @subpage tutorial_sobel_derivatives
@ -27,16 +35,18 @@ Transformations
- @subpage tutorial_remap
- @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_calculation
- @subpage tutorial_histogram_comparison
- @subpage tutorial_back_projection
- @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_hull
- @subpage tutorial_bounding_rects_circles
@ -44,8 +54,9 @@ Contours
- @subpage tutorial_moments
- @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_out_of_focus_deblur_filter
- @subpage tutorial_motion_deblur_filter

View File

@ -9,6 +9,8 @@ Introduction into Android Development {#tutorial_android_dev_intro}
| Original author | Rostislav Vasilikhin |
| Compatibility | OpenCV >= 4.0 |
@tableofcontents
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.

View File

@ -12,6 +12,8 @@
| Original author | Dmitry Kurtaev |
| Compatibility | OpenCV >= 4.9 |
@tableofcontents
## Introduction
In this tutorial you'll know how to run deep learning networks on Android device
using OpenCV deep learning module.

View File

@ -9,6 +9,8 @@ Use OpenCL in Android camera preview based CV application {#tutorial_android_ocl
| Original author | Andrey Pavlenko, Alexander Panov |
| Compatibility | OpenCV >= 4.9 |
@tableofcontents
This guide was designed to help you in use of [OpenCL &trade;](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.

View File

@ -9,6 +9,8 @@ Android Development with OpenCV {#tutorial_dev_with_OCV_on_Android}
| Original authors | Alexander Panov, Rostislav Vasilikhin |
| Compatibility | OpenCV >= 4.9.0 |
@tableofcontents
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.

View File

@ -9,6 +9,8 @@ Introduction to OpenCV Development with Clojure {#tutorial_clojure_dev_intro}
| Original author | Mimmo Cosenza |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Cross compilation for ARM based Linux systems {#tutorial_arm_crosscompile_with_c
| Original author | Alexander Smorkalov |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -11,6 +11,8 @@
| Compatibility | Ubuntu >=23.04 |
|^ | OpenCV >=4.8.0 |
@tableofcontents
@warning
This tutorial may contain obsolete information.

View File

@ -9,6 +9,8 @@ Introduction to Java Development {#tutorial_java_dev_intro}
| Original author | Eric Christiansen and Andrey Pavlenko |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Getting Started with Images {#tutorial_display_image}
| Original author | Ana Huamán |
| Compatibility | OpenCV >= 3.4.4 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Using OpenCV Java with Eclipse {#tutorial_java_eclipse}
| Original author | Barış Evrim Demiröz |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Using OpenCV with Eclipse (plugin CDT) {#tutorial_linux_eclipse}
| Original author | Ana Huamán |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Using OpenCV with gcc and CMake {#tutorial_linux_gcc_cmake}
| Original author | Ana Huamán |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -1,6 +1,7 @@
Installation in Linux {#tutorial_linux_install}
=====================
@prev_tutorial{tutorial_env_reference}
@next_tutorial{tutorial_linux_gdb_pretty_printer}
| | |

View File

@ -1,6 +1,8 @@
Introduction to OpenCV {#tutorial_table_of_content_introduction}
======================
@tableofcontents
- @subpage tutorial_general_install
- @subpage tutorial_config_reference
- @subpage tutorial_env_reference

View File

@ -9,6 +9,8 @@ Installation in Windows {#tutorial_windows_install}
| Original author | Bernát Gábor |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -9,6 +9,8 @@ Image Watch: viewing in-memory images in the Visual Studio debugger {#tutorial_w
| Original author | Wolf Kienzle |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.

View File

@ -8,6 +8,8 @@ How to build applications with OpenCV inside the "Microsoft Visual Studio" {#tut
| Original author | Bernát Gábor |
| Compatibility | OpenCV >= 3.0 |
@tableofcontents
@warning
This tutorial can contain obsolete information.
@ -70,7 +72,7 @@ create it. Then in the upcoming dialog make sure you create an empty project.
![](images/NewProjectVisualStudio.jpg)
The *local* method
The local method
------------------
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.
![](images/PropertyPageAddExisting.jpg)
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

View File

@ -3556,7 +3556,7 @@ public:
/** @brief Matrix expression representation
@anchor MatrixExpressions
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 )):
- Addition, subtraction, negation: `A+B`, `A-B`, `A+s`, `A-s`, `s+A`, `s-A`, `-A`
- Scaling: `A*alpha`
@ -3571,13 +3571,13 @@ real-valued scalar ( double )):
0.
- 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 absolute value: `abs(A)`
- 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: cv::abs(A)
- 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,
mean, sum, countNonZero, trace, determinant, repeat, and others.
- Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as cv::norm,
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
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.
@note Comma-separated initializers and probably some other operations may require additional
explicit Mat() or Mat_<T>() constructor calls to resolve a possible ambiguity.