1 Image Processing (imgproc module) {#tutorial_table_of_content_imgproc}
2 =================================
4 In this section you will learn about the image processing (manipulation) functions inside OpenCV.
6 - @subpage tutorial_gausian_median_blur_bilateral_filter
8 *Languages:* C++, Java, Python
10 *Compatibility:* \> OpenCV 2.0
14 Let's take a look at some basic linear filters!
16 - @subpage tutorial_erosion_dilatation
18 *Compatibility:* \> OpenCV 2.0
22 Let's *change* the shape of objects!
24 - @subpage tutorial_opening_closing_hats
26 *Compatibility:* \> OpenCV 2.0
30 Here we investigate different morphology operators
32 - @subpage tutorial_hitOrMiss
34 *Languages:* C++, Java, Python
36 *Compatibility:* \> OpenCV 2.4
38 *Author:* Lorena García
40 Learn how to find patterns in binary images using the Hit-or-Miss operation
42 - @subpage tutorial_morph_lines_detection
44 *Languages:* C++, Java, Python
46 *Compatibility:* \> OpenCV 2.0
48 *Author:* Theodore Tsesmelis
50 Here we will show how we can use different morphological operators to extract horizontal and vertical lines
52 - @subpage tutorial_pyramids
54 *Languages:* C++, Java, Python
56 *Compatibility:* \> OpenCV 2.0
60 What if I need a bigger/smaller image?
62 - @subpage tutorial_threshold
64 *Compatibility:* \> OpenCV 2.0
68 After so much processing, it is time to decide which pixels stay
70 - @subpage tutorial_threshold_inRange
72 *Compatibility:* \> OpenCV 2.0
74 *Author:* Rishiraj Surti
76 Thresholding operations using inRange function.
78 - @subpage tutorial_filter_2d
80 *Languages:* C++, Java, Python
82 *Compatibility:* \> OpenCV 2.0
86 Where we learn to design our own filters by using OpenCV functions
88 - @subpage tutorial_copyMakeBorder
90 *Languages:* C++, Java, Python
92 *Compatibility:* \> OpenCV 2.0
96 Where we learn how to pad our images
98 - @subpage tutorial_sobel_derivatives
100 *Languages:* C++, Java, Python
102 *Compatibility:* \> OpenCV 2.0
106 Where we learn how to calculate gradients and use them to detect edges
108 - @subpage tutorial_laplace_operator
110 *Languages:* C++, Java, Python
112 *Compatibility:* \> OpenCV 2.0
116 Where we learn about the *Laplace* operator and how to detect edges with it
118 - @subpage tutorial_canny_detector
120 *Compatibility:* \> OpenCV 2.0
124 Where we learn a sophisticated alternative to detect edges
126 - @subpage tutorial_hough_lines
128 *Languages:* C++, Java, Python
130 *Compatibility:* \> OpenCV 2.0
134 Where we learn how to detect lines
136 - @subpage tutorial_hough_circle
138 *Languages:* C++, Java, Python
140 *Compatibility:* \> OpenCV 2.0
144 Where we learn how to detect circles
146 - @subpage tutorial_remap
148 *Compatibility:* \> OpenCV 2.0
152 Where we learn how to manipulate pixels locations
154 - @subpage tutorial_warp_affine
156 *Compatibility:* \> OpenCV 2.0
160 Where we learn how to rotate, translate and scale our images
162 - @subpage tutorial_histogram_equalization
164 *Compatibility:* \> OpenCV 2.0
168 Where we learn how to improve the contrast in our images
170 - @subpage tutorial_histogram_calculation
172 *Compatibility:* \> OpenCV 2.0
176 Where we learn how to create and generate histograms
178 - @subpage tutorial_histogram_comparison
180 *Compatibility:* \> OpenCV 2.0
184 Where we learn to calculate metrics between histograms
186 - @subpage tutorial_back_projection
188 *Compatibility:* \> OpenCV 2.0
192 Where we learn how to use histograms to find similar objects in images
194 - @subpage tutorial_template_matching
196 *Languages:* C++, Java, Python
198 *Compatibility:* \> OpenCV 2.0
202 Where we learn how to match templates in an image
204 - @subpage tutorial_find_contours
206 *Compatibility:* \> OpenCV 2.0
210 Where we learn how to find contours of objects in our image
212 - @subpage tutorial_hull
214 *Compatibility:* \> OpenCV 2.0
218 Where we learn how to get hull contours and draw them
220 - @subpage tutorial_bounding_rects_circles
222 *Compatibility:* \> OpenCV 2.0
226 Where we learn how to obtain bounding boxes and circles for our contours
228 - @subpage tutorial_bounding_rotated_ellipses
230 *Compatibility:* \> OpenCV 2.0
234 Where we learn how to obtain rotated bounding boxes and ellipses for our contours
236 - @subpage tutorial_moments
238 *Compatibility:* \> OpenCV 2.0
242 Where we learn to calculate the moments of an image
244 - @subpage tutorial_point_polygon_test
246 *Compatibility:* \> OpenCV 2.0
250 Where we learn how to calculate distances from the image to contours
252 - @subpage tutorial_distance_transform
254 *Compatibility:* \> OpenCV 2.0
256 *Author:* Theodore Tsesmelis
258 Where we learn to segment objects using Laplacian filtering, the Distance Transformation and the Watershed algorithm.