Module opencv::photo[][src]

Expand description

Computational Photography

This module includes photo processing algorithms

Inpainting

Denoising

HDR imaging

This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, camera calibration with multiple exposures and exposure fusion.

Contrast Preserving Decolorization

Useful links:

http://www.cse.cuhk.edu.hk/leojia/projects/color2gray/index.html

Seamless Cloning

Useful links:

https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp

Non-Photorealistic Rendering

Useful links:

http://www.inf.ufrgs.br/~eslgastal/DomainTransform

https://www.learnopencv.com/non-photorealistic-rendering-using-opencv-python-c/

C API

Modules

Constants

Use Navier-Stokes based method

Use the algorithm proposed by Alexandru Telea Telea04

The classic method, color-based selection and alpha masking might be time consuming and often leaves an undesirable halo. Seamless cloning, even averaged with the original image, is not effective. Mixed seamless cloning based on a loose selection proves effective.

Monochrome transfer allows the user to easily replace certain features of one object by alternative features.

The power of the method is fully expressed when inserting objects with complex outlines into a new background

Normalized Convolution Filtering

Recursive Filtering

Traits

The base class for algorithms that align images of the same scene with different exposures

This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminance and 0 otherwise) and than aligns the resulting bitmaps using bit operations.

The base class for camera response calibration algorithms.

Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. Objective function is constructed using pixel values on the same position in all images, extra term is added to make the result smoother.

Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. This algorithm uses all image pixels.

The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response.

The base class algorithms that can merge exposure sequence to a single image.

Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids.

The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response.

Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range.

Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain.

This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, transforms contrast values to HVS response and scales the response. After this the image is reconstructed from new contrast values.

This is a global tonemapping operator that models human visual system.

Functions

Given an original color image, two differently colored versions of this image can be mixed seamlessly.

Creates AlignMTB object

Creates CalibrateDebevec object

Creates CalibrateRobertson object

Creates MergeDebevec object

Creates MergeMertens object

Creates MergeRobertson object

Creates simple linear mapper with gamma correction

Creates TonemapDrago object

Creates TonemapMantiuk object

Creates TonemapReinhard object

Transforms a color image to a grayscale image. It is a basic tool in digital printing, stylized black-and-white photograph rendering, and in many single channel image processing applications CL12 .

Primal-dual algorithm is an algorithm for solving special types of variational problems (that is, finding a function to minimize some functional). As the image denoising, in particular, may be seen as the variational problem, primal-dual algorithm then can be used to perform denoising and this is exactly what is implemented.

This filter enhances the details of a particular image.

Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing filters are used in many different applications EM11 .

Perform image denoising using Non-local Means Denoising algorithm http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ with several computational optimizations. Noise expected to be a gaussian white noise

Modification of fastNlMeansDenoising function for colored images

Modification of fastNlMeansDenoising function for colored images

Modification of fastNlMeansDenoisingMulti function for colored images sequences

Perform image denoising using Non-local Means Denoising algorithm http://www.ipol.im/pub/algo/bcm_non_local_means_denoising with several computational optimizations. Noise expected to be a gaussian white noise

Modification of fastNlMeansDenoising function for images sequence where consecutive images have been captured in small period of time. For example video. This version of the function is for grayscale images or for manual manipulation with colorspaces. For more details see http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394

Modification of fastNlMeansDenoising function for images sequence where consecutive images have been captured in small period of time. For example video. This version of the function is for grayscale images or for manual manipulation with colorspaces. For more details see http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394

Perform image denoising using Non-local Means Denoising algorithm http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ with several computational optimizations. Noise expected to be a gaussian white noise

Applying an appropriate non-linear transformation to the gradient field inside the selection and then integrating back with a Poisson solver, modifies locally the apparent illumination of an image.

Restores the selected region in an image using the region neighborhood.

Performs pure non local means denoising without any simplification, and thus it is not fast.

@example samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp An example using non-photorealistic line drawing functions

@example samples/cpp/tutorial_code/photo/seamless_cloning/cloning_demo.cpp An example using seamlessClone function

Stylization aims to produce digital imagery with a wide variety of effects not focused on photorealism. Edge-aware filters are ideal for stylization, as they can abstract regions of low contrast while preserving, or enhancing, high-contrast features.

By retaining only the gradients at edge locations, before integrating with the Poisson solver, one washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge %Detector is used.