move tutorial to imgproc and example to ImgTrans
@ -3,7 +3,8 @@ Object detection with Generalized Ballard and Guil Hough Transform {#tutorial_ge
|
|||||||
|
|
||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
@prev_tutorial{tutorial_traincascade}
|
@prev_tutorial{tutorial_hough_circle}
|
||||||
|
@next_tutorial{tutorial_remap}
|
||||||
|
|
||||||
Goal
|
Goal
|
||||||
----
|
----
|
||||||
@ -39,14 +40,14 @@ Example
|
|||||||
### Code
|
### Code
|
||||||
|
|
||||||
The complete code for this tutorial is shown below.
|
The complete code for this tutorial is shown below.
|
||||||
@include samples/cpp/tutorial_code/objectDetection/generalizedHoughTransform.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/generalizedHoughTransform.cpp
|
||||||
|
|
||||||
Explanation
|
Explanation
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
### Load image, template and setup variables
|
### Load image, template and setup variables
|
||||||
|
|
||||||
@snippet samples/cpp/tutorial_code/objectDetection/generalizedHoughTransform.cpp generalized-hough-transform-load-and-setup
|
@snippet samples/cpp/tutorial_code/ImgTrans/generalizedHoughTransform.cpp generalized-hough-transform-load-and-setup
|
||||||
|
|
||||||
The position vectors will contain the matches the detectors will find.
|
The position vectors will contain the matches the detectors will find.
|
||||||
Every entry contains four floating point values:
|
Every entry contains four floating point values:
|
||||||
@ -61,19 +62,19 @@ An example could look as follows: `[200, 100, 0.9, 120]`
|
|||||||
|
|
||||||
### Setup parameters
|
### Setup parameters
|
||||||
|
|
||||||
@snippet samples/cpp/tutorial_code/objectDetection/generalizedHoughTransform.cpp generalized-hough-transform-setup-parameters
|
@snippet samples/cpp/tutorial_code/ImgTrans/generalizedHoughTransform.cpp generalized-hough-transform-setup-parameters
|
||||||
|
|
||||||
Finding the optimal values can end up in trial and error and depends on many factors, such as the image resolution.
|
Finding the optimal values can end up in trial and error and depends on many factors, such as the image resolution.
|
||||||
|
|
||||||
### Run detection
|
### Run detection
|
||||||
|
|
||||||
@snippet samples/cpp/tutorial_code/objectDetection/generalizedHoughTransform.cpp generalized-hough-transform-run
|
@snippet samples/cpp/tutorial_code/ImgTrans/generalizedHoughTransform.cpp generalized-hough-transform-run
|
||||||
|
|
||||||
As mentioned above, this step will take some time, especially with larger images and when using Guil.
|
As mentioned above, this step will take some time, especially with larger images and when using Guil.
|
||||||
|
|
||||||
### Draw results and show image
|
### Draw results and show image
|
||||||
|
|
||||||
@snippet samples/cpp/tutorial_code/objectDetection/generalizedHoughTransform.cpp generalized-hough-transform-draw-results
|
@snippet samples/cpp/tutorial_code/ImgTrans/generalizedHoughTransform.cpp generalized-hough-transform-draw-results
|
||||||
|
|
||||||
Result
|
Result
|
||||||
------
|
------
|
||||||
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
@ -2,7 +2,7 @@ Hough Circle Transform {#tutorial_hough_circle}
|
|||||||
======================
|
======================
|
||||||
|
|
||||||
@prev_tutorial{tutorial_hough_lines}
|
@prev_tutorial{tutorial_hough_lines}
|
||||||
@next_tutorial{tutorial_remap}
|
@next_tutorial{tutorial_generalized_hough_ballard_guil}
|
||||||
|
|
||||||
Goal
|
Goal
|
||||||
----
|
----
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
Remapping {#tutorial_remap}
|
Remapping {#tutorial_remap}
|
||||||
=========
|
=========
|
||||||
|
|
||||||
@prev_tutorial{tutorial_hough_circle}
|
@prev_tutorial{tutorial_generalized_hough_ballard_guil}
|
||||||
@next_tutorial{tutorial_warp_affine}
|
@next_tutorial{tutorial_warp_affine}
|
||||||
|
|
||||||
Goal
|
Goal
|
||||||
|
|||||||
@ -173,6 +173,16 @@ In this section you will learn about the image processing (manipulation) functio
|
|||||||
|
|
||||||
Where we learn how to detect circles
|
Where we learn how to detect circles
|
||||||
|
|
||||||
|
- @subpage tutorial_generalized_hough_ballard_guil
|
||||||
|
|
||||||
|
*Languages:* C++
|
||||||
|
|
||||||
|
*Compatibility:* \>= OpenCV 3.4
|
||||||
|
|
||||||
|
*Author:* Markus Heck
|
||||||
|
|
||||||
|
Detect an object in a picture with the help of GeneralizedHoughBallard and GeneralizedHoughGuil.
|
||||||
|
|
||||||
- @subpage tutorial_remap
|
- @subpage tutorial_remap
|
||||||
|
|
||||||
*Languages:* C++, Java, Python
|
*Languages:* C++, Java, Python
|
||||||
|
|||||||
@ -16,13 +16,3 @@ Ever wondered how your digital camera detects peoples and faces? Look here to fi
|
|||||||
- @subpage tutorial_traincascade
|
- @subpage tutorial_traincascade
|
||||||
|
|
||||||
This tutorial describes _opencv_traincascade_ application and its parameters.
|
This tutorial describes _opencv_traincascade_ application and its parameters.
|
||||||
|
|
||||||
- @subpage tutorial_generalized_hough_ballard_guil
|
|
||||||
|
|
||||||
*Languages:* C++
|
|
||||||
|
|
||||||
*Compatibility:* \>= OpenCV 3.4
|
|
||||||
|
|
||||||
*Author:* Markus Heck
|
|
||||||
|
|
||||||
Detect an object in a picture with the help of GeneralizedHoughBallard and GeneralizedHoughGuil.
|
|
||||||
@ -2,7 +2,6 @@ Cascade Classifier Training {#tutorial_traincascade}
|
|||||||
===========================
|
===========================
|
||||||
|
|
||||||
@prev_tutorial{tutorial_cascade_classifier}
|
@prev_tutorial{tutorial_cascade_classifier}
|
||||||
@next_tutorial{tutorial_generalized_hough_ballard_guil}
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|||||||