Image Processing (imgproc module) {#tutorial_table_of_content_imgproc} ================================= In this section you will learn about the image processing (manipulation) functions inside OpenCV. - @subpage tutorial_basic_geometric_drawing *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán We will learn how to draw simple geometry with OpenCV! - @subpage tutorial_random_generator_and_text *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán We will draw some *fancy-looking* stuff using OpenCV! - @subpage tutorial_gausian_median_blur_bilateral_filter *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Let's take a look at some basic linear filters! - @subpage tutorial_erosion_dilatation *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 Author: Ana Huamán Let's *change* the shape of objects! - @subpage tutorial_opening_closing_hats *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Here we investigate different morphology operators - @subpage tutorial_hitOrMiss *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.4 *Author:* Lorena García Learn how to find patterns in binary images using the Hit-or-Miss operation - @subpage tutorial_morph_lines_detection *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Theodore Tsesmelis Here we will show how we can use different morphological operators to extract horizontal and vertical lines - @subpage tutorial_pyramids *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán What if I need a bigger/smaller image? - @subpage tutorial_threshold *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán After so much processing, it is time to decide which pixels stay - @subpage tutorial_threshold_inRange *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Rishiraj Surti Thresholding operations using inRange function. - @subpage tutorial_filter_2d *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn to design our own filters by using OpenCV functions - @subpage tutorial_copyMakeBorder *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to pad our images - @subpage tutorial_sobel_derivatives *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to calculate gradients and use them to detect edges - @subpage tutorial_laplace_operator *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn about the *Laplace* operator and how to detect edges with it - @subpage tutorial_canny_detector *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn a sophisticated alternative to detect edges - @subpage tutorial_hough_lines *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to detect lines - @subpage tutorial_hough_circle *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to detect circles - @subpage tutorial_remap *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to manipulate pixels locations - @subpage tutorial_warp_affine *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to rotate, translate and scale our images - @subpage tutorial_histogram_equalization *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to improve the contrast in our images - @subpage tutorial_histogram_calculation *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to create and generate histograms - @subpage tutorial_histogram_comparison *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn to calculate metrics between histograms - @subpage tutorial_back_projection *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to use histograms to find similar objects in images - @subpage tutorial_template_matching *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to match templates in an image - @subpage tutorial_find_contours *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to find contours of objects in our image - @subpage tutorial_hull *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to get hull contours and draw them - @subpage tutorial_bounding_rects_circles *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to obtain bounding boxes and circles for our contours - @subpage tutorial_bounding_rotated_ellipses *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to obtain rotated bounding boxes and ellipses for our contours - @subpage tutorial_moments *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn to calculate the moments of an image - @subpage tutorial_point_polygon_test *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Ana Huamán Where we learn how to calculate distances from the image to contours - @subpage tutorial_distance_transform *Languages:* C++, Java, Python *Compatibility:* \> OpenCV 2.0 *Author:* Theodore Tsesmelis Where we learn to segment objects using Laplacian filtering, the Distance Transformation and the Watershed algorithm. - @subpage tutorial_out_of_focus_deblur_filter *Languages:* C++ *Compatibility:* \> OpenCV 2.0 *Author:* Karpushin Vladislav You will learn how to recover an out-of-focus image by Wiener filter.