From 3650ec02be2eef242c6932611930b65521b6a2f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorena=20Garc=C3=ADa?= Date: Tue, 3 Jan 2017 18:34:04 +0100 Subject: [PATCH] HitMiss tutorial --- .../imgproc/hitOrMiss/hitOrMiss.markdown | 60 ++++++++++++++++++ .../hitOrMiss/images/hitmiss_example2.png | Bin 0 -> 22299 bytes .../hitOrMiss/images/hitmiss_example3.png | Bin 0 -> 22802 bytes .../hitOrMiss/images/hitmiss_input.png | Bin 0 -> 25033 bytes .../hitOrMiss/images/hitmiss_kernels.png | Bin 0 -> 11040 bytes .../hitOrMiss/images/hitmiss_output.png | Bin 0 -> 18677 bytes .../imgproc/table_of_content_imgproc.markdown | 8 +++ modules/imgproc/include/opencv2/imgproc.hpp | 4 +- samples/cpp/tutorial_code/ImgProc/HitMiss.cpp | 32 ++++++++++ 9 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 doc/tutorials/imgproc/hitOrMiss/hitOrMiss.markdown create mode 100644 doc/tutorials/imgproc/hitOrMiss/images/hitmiss_example2.png create mode 100644 doc/tutorials/imgproc/hitOrMiss/images/hitmiss_example3.png create mode 100644 doc/tutorials/imgproc/hitOrMiss/images/hitmiss_input.png create mode 100644 doc/tutorials/imgproc/hitOrMiss/images/hitmiss_kernels.png create mode 100644 doc/tutorials/imgproc/hitOrMiss/images/hitmiss_output.png create mode 100644 samples/cpp/tutorial_code/ImgProc/HitMiss.cpp diff --git a/doc/tutorials/imgproc/hitOrMiss/hitOrMiss.markdown b/doc/tutorials/imgproc/hitOrMiss/hitOrMiss.markdown new file mode 100644 index 0000000000..085e7c2e00 --- /dev/null +++ b/doc/tutorials/imgproc/hitOrMiss/hitOrMiss.markdown @@ -0,0 +1,60 @@ +Hit-or-Miss {#tutorial_hitOrMiss} +================================= + +Goal +---- + +In this tutorial you will learn how to find a given configuration or pattern in a binary image by using the Hit-or-Miss transform (also known as Hit-and-Miss transform). +This transform is also the basis of more advanced morphological operations such as thinning or pruning. + +We will use the OpenCV function @ref cv::morphologyEx. + + + +Hit-or-Miss theory +------------------- + +Morphological operators process images based on their shape. These operators apply one or more *structuring elements* to an input image to obtain the output image. +The two basic morphological operations are the *erosion* and the *dilation*. The combination of these two operations generate advanced morphological transformations such as *opening*, *closing*, or *top-hat* transform. +To know more about these and other basic morphological operations refer to previous tutorials @ref tutorial_erosion_dilatation "here" and @ref tutorial_opening_closing_hats "here". + +The Hit-or-Miss transformation is useful to find patterns in binary images. In particular, it finds those pixels whose neighbourhood matches the shape of a first structuring element \f$B_1\f$ +while not matching the shape of a second structuring element \f$B_2\f$ at the same time. Mathematically, the operation applied to an image \f$A\f$ can be expressed as follows: +\f[ + A\circledast B = (A\ominus B_1) \cap (A^c\ominus B_2) +\f] + +Therefore, the hit-or-miss operation comprises three steps: + 1. Erode image \f$A\f$ with structuring element \f$B_1\f$. + 2. Erode the complement of image \f$A\f$ (\f$A^c\f$) with structuring element \f$B_2\f$. + 3. AND results from step 1 and step 2. + +The structuring elements \f$B_1\f$ and \f$B_2\f$ can be combined into a single element \f$B\f$. Let's see an example: +![Structuring elements (kernels). Left: kernel to 'hit'. Middle: kernel to 'miss'. Right: final combined kernel](images/hitmiss_kernels.png) + +In this case, we are looking for a pattern in which the central pixel belongs to the background while the north, south, east, and west pixels belong to the foreground. The rest of pixels in the neighbourhood can be of any kind, we don't care about them. Now, let's apply this kernel to an input image: + +![Input binary image](images/hitmiss_input.png) +![Output binary image](images/hitmiss_output.png) + +You can see that the pattern is found in just one location within the image. + + +Code +---- + +The code corresponding to the previous example is shown below. You can also download it from +[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/HitMiss.cpp) +@include samples/cpp/tutorial_code/ImgProc/HitMiss.cpp + +As you can see, it is as simple as using the function @ref cv::morphologyEx with the operation type @ref cv::MORPH_HITMISS and the chosen kernel. + +Other examples +-------------- + +Here you can find the output results of applying different kernels to the same input image used before: + +![Kernel and output result for finding top-right corners](images/hitmiss_example2.png) +![Kernel and output result for finding left end points](images/hitmiss_example3.png) + +Now try your own patterns! diff --git a/doc/tutorials/imgproc/hitOrMiss/images/hitmiss_example2.png b/doc/tutorials/imgproc/hitOrMiss/images/hitmiss_example2.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e0efba13d1efaa72ee6460cc92f6e32f0a899f GIT binary patch literal 22299 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 literal 0 HcmV?d00001 diff --git a/doc/tutorials/imgproc/hitOrMiss/images/hitmiss_output.png b/doc/tutorials/imgproc/hitOrMiss/images/hitmiss_output.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b81638ed419774ca6e5dcd082767cc28a6e83e GIT binary patch literal 18677 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 OpenCV 2.4 + + *Author:* Lorena GarcĂ­a + + Learn how to find patterns in binary images using the Hit-or-Miss operation + - @subpage tutorial_moprh_lines_detection *Compatibility:* \> OpenCV 2.0 diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index 007a238d67..95e5a1592b 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -245,8 +245,8 @@ enum MorphTypes{ //!< \f[\texttt{dst} = \mathrm{tophat} ( \texttt{src} , \texttt{element} )= \texttt{src} - \mathrm{open} ( \texttt{src} , \texttt{element} )\f] MORPH_BLACKHAT = 6, //!< "black hat" //!< \f[\texttt{dst} = \mathrm{blackhat} ( \texttt{src} , \texttt{element} )= \mathrm{close} ( \texttt{src} , \texttt{element} )- \texttt{src}\f] - MORPH_HITMISS = 7 //!< "hit and miss" - //!< .- Only supported for CV_8UC1 binary images. Tutorial can be found in [this page](https://web.archive.org/web/20160316070407/http://opencv-code.com/tutorials/hit-or-miss-transform-in-opencv/) + MORPH_HITMISS = 7 //!< "hit or miss" + //!< .- Only supported for CV_8UC1 binary images. A tutorial can be found in the documentation }; //! shape of the structuring element diff --git a/samples/cpp/tutorial_code/ImgProc/HitMiss.cpp b/samples/cpp/tutorial_code/ImgProc/HitMiss.cpp new file mode 100644 index 0000000000..0463aabe39 --- /dev/null +++ b/samples/cpp/tutorial_code/ImgProc/HitMiss.cpp @@ -0,0 +1,32 @@ +#include +#include +#include + +using namespace cv; + +int main(){ + Mat input_image = (Mat_(8, 8) << + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 0, 0, 0, 255, + 0, 255, 255, 255, 0, 0, 0, 0, + 0, 255, 255, 255, 0, 255, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 255, 255, 0, + 0, 255, 0, 255, 0, 0, 255, 0, + 0, 255, 255, 255, 0, 0, 0, 0); + + Mat kernel = (Mat_(3, 3) << + 0, 1, 0, + 1, -1, 1, + 0, 1, 0); + + Mat output_image; + morphologyEx(input_image, output_image, MORPH_HITMISS, kernel); + + namedWindow("Original", CV_WINDOW_NORMAL); + imshow("Original", input_image); + namedWindow("Hit or Miss", CV_WINDOW_NORMAL); + imshow("Hit or Miss", output_image); + waitKey(0); + return 0; +} \ No newline at end of file