opencv2/photo.hpp#

#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/photo/ccm.hpp>
#include <./photo/segmentation.hpp>

Include dependency graph for photo.hpp:

opencv2/photo.hpp Node1 opencv2/photo.hpp Node2 opencv2/core.hpp Node1->Node2 Node52 opencv2/imgproc.hpp Node1->Node52 Node53 opencv2/photo/ccm.hpp Node1->Node53 Node54 ./photo/segmentation.hpp Node1->Node54 Node3 opencv2/core/cvdef.h Node2->Node3 Node10 opencv2/core/base.hpp Node2->Node10 Node14 opencv2/core/cvstd.hpp Node2->Node14 Node30 opencv2/core/traits.hpp Node2->Node30 Node31 opencv2/core/matx.hpp Node2->Node31 Node36 opencv2/core/types.hpp Node2->Node36 Node39 opencv2/core/mat.hpp Node2->Node39 Node43 opencv2/core/persistence.hpp Node2->Node43 Node44 opencv2/core/operations.hpp Node2->Node44 Node47 opencv2/core/cvstd.inl.hpp Node2->Node47 Node48 opencv2/core/utility.hpp Node2->Node48 Node51 opencv2/core/optim.hpp Node2->Node51 Node4 opencv2/core/version.hpp Node3->Node4 Node5 limits Node3->Node5 Node6 opencv2/core/hal/interface.h Node3->Node6 Node8 cstdint Node3->Node8 Node9 cv_cpu_dispatch.h Node3->Node9 Node7 cstddef Node6->Node7 Node6->Node8 Node10->Node3 Node11 opencv2/opencv_modules.hpp Node10->Node11 Node12 climits Node10->Node12 Node13 algorithm Node10->Node13 Node10->Node14 Node24 opencv2/core/fwddecl.hpp Node10->Node24 Node25 opencv2/core/neon_utils.hpp Node10->Node25 Node26 opencv2/core/vsx_utils.hpp Node10->Node26 Node28 opencv2/core/exception.hpp Node10->Node28 Node29 opencv2/core/check.hpp Node10->Node29 Node14->Node3 Node14->Node7 Node14->Node13 Node15 cstring Node14->Node15 Node16 cctype Node14->Node16 Node17 string Node14->Node17 Node18 utility Node14->Node18 Node19 cstdlib Node14->Node19 Node20 cmath Node14->Node20 Node21 cvstd_wrapper.hpp Node14->Node21 Node21->Node3 Node21->Node17 Node22 memory Node21->Node22 Node23 type_traits Node21->Node23 Node24->Node3 Node25->Node3 Node26->Node3 Node27 assert.h Node26->Node27 Node28->Node3 Node28->Node14 Node29->Node3 Node29->Node14 Node29->Node24 Node30->Node3 Node31->Node3 Node31->Node10 Node31->Node30 Node32 opencv2/core/saturate.hpp Node31->Node32 Node34 initializer_list Node31->Node34 Node35 opencv2/core/matx.inl.hpp Node31->Node35 Node32->Node3 Node32->Node12 Node33 opencv2/core/fast_math.hpp Node32->Node33 Node33->Node3 Node33->Node20 Node36->Node3 Node36->Node5 Node36->Node12 Node36->Node14 Node36->Node31 Node37 cfloat Node36->Node37 Node38 vector Node36->Node38 Node39->Node23 Node39->Node31 Node39->Node36 Node40 opencv2/core/bufferpool.hpp Node39->Node40 Node41 array Node39->Node41 Node42 opencv2/core/mat.inl.hpp Node39->Node42 Node43->Node36 Node43->Node39 Node45 cstdio Node44->Node45 Node46 ostream Node44->Node46 Node48->Node2 Node48->Node46 Node49 functional Node48->Node49 Node50 mutex Node48->Node50 Node51->Node2 Node52->Node2 Node53->Node2 Node53->Node52 Node54->Node1

opencv2/photo.hpp Node1 opencv2/photo.hpp Node2 opencv2/core.hpp Node1->Node2 Node52 opencv2/imgproc.hpp Node1->Node52 Node53 opencv2/photo/ccm.hpp Node1->Node53 Node54 ./photo/segmentation.hpp Node1->Node54 Node3 opencv2/core/cvdef.h Node2->Node3 Node10 opencv2/core/base.hpp Node2->Node10 Node14 opencv2/core/cvstd.hpp Node2->Node14 Node30 opencv2/core/traits.hpp Node2->Node30 Node31 opencv2/core/matx.hpp Node2->Node31 Node36 opencv2/core/types.hpp Node2->Node36 Node39 opencv2/core/mat.hpp Node2->Node39 Node43 opencv2/core/persistence.hpp Node2->Node43 Node44 opencv2/core/operations.hpp Node2->Node44 Node47 opencv2/core/cvstd.inl.hpp Node2->Node47 Node48 opencv2/core/utility.hpp Node2->Node48 Node51 opencv2/core/optim.hpp Node2->Node51 Node4 opencv2/core/version.hpp Node3->Node4 Node5 limits Node3->Node5 Node6 opencv2/core/hal/interface.h Node3->Node6 Node8 cstdint Node3->Node8 Node9 cv_cpu_dispatch.h Node3->Node9 Node7 cstddef Node6->Node7 Node6->Node8 Node10->Node3 Node11 opencv2/opencv_modules.hpp Node10->Node11 Node12 climits Node10->Node12 Node13 algorithm Node10->Node13 Node10->Node14 Node24 opencv2/core/fwddecl.hpp Node10->Node24 Node25 opencv2/core/neon_utils.hpp Node10->Node25 Node26 opencv2/core/vsx_utils.hpp Node10->Node26 Node28 opencv2/core/exception.hpp Node10->Node28 Node29 opencv2/core/check.hpp Node10->Node29 Node14->Node3 Node14->Node7 Node14->Node13 Node15 cstring Node14->Node15 Node16 cctype Node14->Node16 Node17 string Node14->Node17 Node18 utility Node14->Node18 Node19 cstdlib Node14->Node19 Node20 cmath Node14->Node20 Node21 cvstd_wrapper.hpp Node14->Node21 Node21->Node3 Node21->Node17 Node22 memory Node21->Node22 Node23 type_traits Node21->Node23 Node24->Node3 Node25->Node3 Node26->Node3 Node27 assert.h Node26->Node27 Node28->Node3 Node28->Node14 Node29->Node3 Node29->Node14 Node29->Node24 Node30->Node3 Node31->Node3 Node31->Node10 Node31->Node30 Node32 opencv2/core/saturate.hpp Node31->Node32 Node34 initializer_list Node31->Node34 Node35 opencv2/core/matx.inl.hpp Node31->Node35 Node32->Node3 Node32->Node12 Node33 opencv2/core/fast_math.hpp Node32->Node33 Node33->Node3 Node33->Node20 Node36->Node3 Node36->Node5 Node36->Node12 Node36->Node14 Node36->Node31 Node37 cfloat Node36->Node37 Node38 vector Node36->Node38 Node39->Node23 Node39->Node31 Node39->Node36 Node40 opencv2/core/bufferpool.hpp Node39->Node40 Node41 array Node39->Node41 Node42 opencv2/core/mat.inl.hpp Node39->Node42 Node43->Node36 Node43->Node39 Node45 cstdio Node44->Node45 Node46 ostream Node44->Node46 Node48->Node2 Node48->Node46 Node49 functional Node48->Node49 Node50 mutex Node48->Node50 Node51->Node2 Node52->Node2 Node53->Node2 Node53->Node52 Node54->Node1

This graph shows which files directly or indirectly include photo.hpp:

incby n46b774aaee opencv2/photo/segmentation.hpp n79abe6e4f2 opencv2/photo.hpp n46b774aaee->n79abe6e4f2 n274d4d0423 opencv2/photo/photo.hpp n274d4d0423->n79abe6e4f2 n79abe6e4f2->n46b774aaee n7b61e7ed2d opencv2/videostab/stabilizer.hpp n63bd64977b opencv2/videostab/inpainting.hpp n7b61e7ed2d->n63bd64977b n4fafc910bc opencv2/xphoto/tonemap.hpp n4fafc910bc->n79abe6e4f2 n63bd64977b->n79abe6e4f2 nf3eedceea8 opencv2/videostab.hpp nf3eedceea8->n7b61e7ed2d n5223cd1550 opencv2/xphoto.hpp n5223cd1550->n4fafc910bc

incby n46b774aaee opencv2/photo/segmentation.hpp n79abe6e4f2 opencv2/photo.hpp n46b774aaee->n79abe6e4f2 n274d4d0423 opencv2/photo/photo.hpp n274d4d0423->n79abe6e4f2 n79abe6e4f2->n46b774aaee n7b61e7ed2d opencv2/videostab/stabilizer.hpp n63bd64977b opencv2/videostab/inpainting.hpp n7b61e7ed2d->n63bd64977b n4fafc910bc opencv2/xphoto/tonemap.hpp n4fafc910bc->n79abe6e4f2 n63bd64977b->n79abe6e4f2 nf3eedceea8 opencv2/videostab.hpp nf3eedceea8->n7b61e7ed2d n5223cd1550 opencv2/xphoto.hpp n5223cd1550->n4fafc910bc

Classes#

class cv::AlignExposures

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

class cv::AlignMTB

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. More…

class cv::CalibrateCRF

The base class for camera response calibration algorithms. More…

class cv::CalibrateDebevec

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. More…

class cv::CalibrateRobertson

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

class cv::MergeDebevec

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

class cv::MergeExposures

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

class cv::MergeMertens

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

class cv::MergeRobertson

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

class cv::Tonemap

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

class cv::TonemapDrago

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

class cv::TonemapMantiuk

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. More…

class cv::TonemapReinhard

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

Namespaces#

namespace cv

Enumerations#

enum cv::SeamlessCloneFlags {
NORMAL_CLONE = 1,
MIXED_CLONE = 2,
MONOCHROME_TRANSFER = 3,
NORMAL_CLONE_WIDE = 9,
MIXED_CLONE_WIDE = 10,
MONOCHROME_TRANSFER_WIDE = 11
}

Flags for the seamlessClone algorithm. More…

enum cv {
INPAINT_NS = 0,
INPAINT_TELEA = 1
}
enum cv {
RECURS_FILTER = 1,
NORMCONV_FILTER = 2
}

Edge preserving filters. More…

enum cv {
LDR_SIZE = 256
}

Functions#

void cv::decolor (InputArray src, OutputArray grayscale, OutputArray color_boost)

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 [196] .

void cv::colorChange (InputArray src, InputArray mask, OutputArray dst, float red_mul=1.0f, float green_mul=1.0f, float blue_mul=1.0f)

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

void cv::illuminationChange (InputArray src, InputArray mask, OutputArray dst, float alpha=0.2f, float beta=0.4f)

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.

void cv::seamlessClone (InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags)

Performs seamless cloning to blend a region from a source image into a destination image. This function is designed for local image editing, allowing changes restricted to a region (manually selected as the ROI) to be applied effortlessly and seamlessly. These changes can range from slight distortions to complete replacement by novel content [244].

void cv::textureFlattening (InputArray src, InputArray mask, OutputArray dst, float low_threshold=30, float high_threshold=45, int kernel_size=3)

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.

void cv::correctChromaticAberration (InputArray input_image, InputArray coefficients, OutputArray output_image, const Size &image_size, int calib_degree, int bayer_pattern=-1)

Corrects lateral chromatic aberration in an image using polynomial distortion model.

void cv::loadChromaticAberrationParams (const FileNode &node, OutputArray coeffMat, Size &calib_size, int &degree)

Load chromatic-aberration calibration parameters from opened FileStorage.

void cv::denoise_TVL1 (const std::vector< Mat > &observations, Mat &result, double lambda=1.0, int niters=30)

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.

void cv::fastNlMeansDenoising (InputArray src, OutputArray dst, const std::vector< float > &h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)

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.

void cv::fastNlMeansDenoising (InputArray src, OutputArray dst, float h=3, int templateWindowSize=7, int searchWindowSize=21)

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.

void cv::fastNlMeansDenoisingColored (InputArray src, OutputArray dst, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)

Modification of fastNlMeansDenoising function for colored images.

void cv::fastNlMeansDenoisingColoredMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)

Modification of fastNlMeansDenoisingMulti function for colored images sequences.

void cv::fastNlMeansDenoisingMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, const std::vector< float > &h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)

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. See [50] for more details (open access here).

void cv::fastNlMeansDenoisingMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, int templateWindowSize=7, int searchWindowSize=21)

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. See [50] for more details (open access here).

void cv::inpaint (InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)

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

void cv::detailEnhance (InputArray src, OutputArray dst, float sigma_s=10, float sigma_r=0.15f)

This filter enhances the details of a particular image.

void cv::edgePreservingFilter (InputArray src, OutputArray dst, int flags=1, float sigma_s=60, float sigma_r=0.4f)

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

void cv::pencilSketch (InputArray src, OutputArray dst1, OutputArray dst2, float sigma_s=60, float sigma_r=0.07f, float shade_factor=0.02f)

Pencil-like non-photorealistic line drawing.

void cv::stylization (InputArray src, OutputArray dst, float sigma_s=60, float sigma_r=0.45f)

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.

Ptr< AlignMTB > cv::createAlignMTB (int max_bits=6, int exclude_range=4, bool cut=true)

Creates AlignMTB object.

Ptr< CalibrateDebevec > cv::createCalibrateDebevec (int samples=70, float lambda=10.0f, bool random=false)

Creates CalibrateDebevec object.

Ptr< CalibrateRobertson > cv::createCalibrateRobertson (int max_iter=30, float threshold=0.01f)

Creates CalibrateRobertson object.

Ptr< MergeDebevec > cv::createMergeDebevec ()

Creates MergeDebevec object.

Ptr< MergeMertens > cv::createMergeMertens (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f)

Creates MergeMertens object.

Ptr< MergeRobertson > cv::createMergeRobertson ()

Creates MergeRobertson object.

Ptr< Tonemap > cv::createTonemap (float gamma=1.0f)

Creates simple linear mapper with gamma correction.

Ptr< TonemapDrago > cv::createTonemapDrago (float gamma=1.0f, float saturation=1.0f, float bias=0.85f)

Creates TonemapDrago object.

Ptr< TonemapMantiuk > cv::createTonemapMantiuk (float gamma=1.0f, float scale=0.7f, float saturation=1.0f)

Creates TonemapMantiuk object.

Ptr< TonemapReinhard > cv::createTonemapReinhard (float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f)

Creates TonemapReinhard object.