43#ifndef OPENCV_PHOTO_HPP
44#define OPENCV_PHOTO_HPP
46#include "opencv2/core.hpp"
47#include "opencv2/imgproc.hpp"
120CV_EXPORTS_W
void inpaint( InputArray src, InputArray inpaintMask,
121 OutputArray dst,
double inpaintRadius,
int flags );
149 int templateWindowSize = 7,
int searchWindowSize = 21);
176 const std::vector<float>& h,
177 int templateWindowSize = 7,
int searchWindowSize = 21,
199 float h = 3,
float hColor = 3,
200 int templateWindowSize = 7,
int searchWindowSize = 21);
226 int imgToDenoiseIndex,
int temporalWindowSize,
227 float h = 3,
int templateWindowSize = 7,
int searchWindowSize = 21);
255 int imgToDenoiseIndex,
int temporalWindowSize,
256 const std::vector<float>& h,
257 int templateWindowSize = 7,
int searchWindowSize = 21,
284 int imgToDenoiseIndex,
int temporalWindowSize,
285 float h = 3,
float hColor = 3,
286 int templateWindowSize = 7,
int searchWindowSize = 21);
325CV_EXPORTS_W
void denoise_TVL1(
const std::vector<Mat>& observations,
Mat& result,
double lambda=1.0,
int niters=30);
332enum { LDR_SIZE = 256 };
344 CV_WRAP
virtual void process(InputArray src,
OutputArray dst) = 0;
346 CV_WRAP
virtual float getGamma()
const = 0;
347 CV_WRAP
virtual void setGamma(
float gamma) = 0;
372 CV_WRAP
virtual float getSaturation()
const = 0;
373 CV_WRAP
virtual void setSaturation(
float saturation) = 0;
375 CV_WRAP
virtual float getBias()
const = 0;
376 CV_WRAP
virtual void setBias(
float bias) = 0;
400 CV_WRAP
virtual float getIntensity()
const = 0;
401 CV_WRAP
virtual void setIntensity(
float intensity) = 0;
403 CV_WRAP
virtual float getLightAdaptation()
const = 0;
404 CV_WRAP
virtual void setLightAdaptation(
float light_adapt) = 0;
406 CV_WRAP
virtual float getColorAdaptation()
const = 0;
407 CV_WRAP
virtual void setColorAdaptation(
float color_adapt) = 0;
420createTonemapReinhard(
float gamma = 1.0f,
float intensity = 0.0f,
float light_adapt = 1.0f,
float color_adapt = 0.0f);
431 CV_WRAP
virtual float getScale()
const = 0;
432 CV_WRAP
virtual void setScale(
float scale) = 0;
434 CV_WRAP
virtual float getSaturation()
const = 0;
435 CV_WRAP
virtual void setSaturation(
float saturation) = 0;
461 CV_WRAP
virtual void process(InputArrayOfArrays src, std::vector<Mat>& dst,
462 InputArray times, InputArray response) = 0;
477 CV_WRAP
virtual void process(InputArrayOfArrays src, std::vector<Mat>& dst,
478 InputArray times, InputArray response) CV_OVERRIDE = 0;
485 CV_WRAP
virtual void process(InputArrayOfArrays src, std::vector<Mat>& dst) = 0;
493 CV_WRAP
virtual Point calculateShift(InputArray img0, InputArray img1) = 0;
509 CV_WRAP
virtual int getMaxBits()
const = 0;
510 CV_WRAP
virtual void setMaxBits(
int max_bits) = 0;
512 CV_WRAP
virtual int getExcludeRange()
const = 0;
513 CV_WRAP
virtual void setExcludeRange(
int exclude_range) = 0;
515 CV_WRAP
virtual bool getCut()
const = 0;
516 CV_WRAP
virtual void setCut(
bool value) = 0;
540 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst, InputArray times) = 0;
552 CV_WRAP
virtual float getLambda()
const = 0;
553 CV_WRAP
virtual void setLambda(
float lambda) = 0;
555 CV_WRAP
virtual int getSamples()
const = 0;
556 CV_WRAP
virtual void setSamples(
int samples) = 0;
558 CV_WRAP
virtual bool getRandom()
const = 0;
559 CV_WRAP
virtual void setRandom(
bool random) = 0;
580 CV_WRAP
virtual int getMaxIter()
const = 0;
581 CV_WRAP
virtual void setMaxIter(
int max_iter) = 0;
583 CV_WRAP
virtual float getThreshold()
const = 0;
584 CV_WRAP
virtual void setThreshold(
float threshold) = 0;
586 CV_WRAP
virtual Mat getRadiance()
const = 0;
609 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst,
610 InputArray times, InputArray response) = 0;
621 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst,
622 InputArray times, InputArray response) CV_OVERRIDE = 0;
623 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst, InputArray times) = 0;
644 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst,
645 InputArray times, InputArray response) CV_OVERRIDE = 0;
651 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst) = 0;
653 CV_WRAP
virtual float getContrastWeight()
const = 0;
654 CV_WRAP
virtual void setContrastWeight(
float contrast_weiht) = 0;
656 CV_WRAP
virtual float getSaturationWeight()
const = 0;
657 CV_WRAP
virtual void setSaturationWeight(
float saturation_weight) = 0;
659 CV_WRAP
virtual float getExposureWeight()
const = 0;
660 CV_WRAP
virtual void setExposureWeight(
float exposure_weight) = 0;
670createMergeMertens(
float contrast_weight = 1.0f,
float saturation_weight = 1.0f,
float exposure_weight = 0.0f);
680 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst,
681 InputArray times, InputArray response) CV_OVERRIDE = 0;
682 CV_WRAP
virtual void process(InputArrayOfArrays src,
OutputArray dst, InputArray times) = 0;
756 float green_mul = 1.0f,
float blue_mul = 1.0f);
770 float alpha = 0.2f,
float beta = 0.4f);
788 float low_threshold = 30,
float high_threshold = 45,
789 int kernel_size = 3);
813 float sigma_s = 60,
float sigma_r = 0.4f);
823 float sigma_r = 0.15f);
838 float sigma_s = 60,
float sigma_r = 0.07f,
float shade_factor = 0.02f);
850 float sigma_r = 0.45f);
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
This is a base class for all more or less complex algorithms in OpenCV
Definition: core.hpp:3091
The base class for algorithms that align images of the same scene with different exposures
Definition: photo.hpp:451
This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminan...
Definition: photo.hpp:475
The base class for camera response calibration algorithms.
Definition: photo.hpp:532
Inverse camera response function is extracted for each brightness value by minimizing an objective fu...
Definition: photo.hpp:550
Inverse camera response function is extracted for each brightness value by minimizing an objective fu...
Definition: photo.hpp:578
n-dimensional dense array class
Definition: mat.hpp:802
The resulting HDR image is calculated as weighted average of the exposures considering exposure value...
Definition: photo.hpp:619
The base class algorithms that can merge exposure sequence to a single image.
Definition: photo.hpp:599
Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combine...
Definition: photo.hpp:642
The resulting HDR image is calculated as weighted average of the exposures considering exposure value...
Definition: photo.hpp:678
Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarith...
Definition: photo.hpp:369
Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range.
Definition: photo.hpp:337
This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid,...
Definition: photo.hpp:429
This is a global tonemapping operator that models human visual system.
Definition: photo.hpp:398
@ NORM_L2
Definition: base.hpp:185
CV_EXPORTS_W double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
Applies a fixed-level threshold to each array element.
CV_EXPORTS_W void seamlessClone(InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags)
Image editing tasks concern either global changes (color/intensity corrections, filters,...
CV_EXPORTS_W void 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...
CV_EXPORTS_W void 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...
CV_EXPORTS_W void 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,...
@ MONOCHROME_TRANSFER
Definition: photo.hpp:721
@ NORMAL_CLONE
Definition: photo.hpp:716
@ MIXED_CLONE
Definition: photo.hpp:719
CV_EXPORTS_W void decolor(InputArray src, OutputArray grayscale, OutputArray color_boost)
Transforms a color image to a grayscale image. It is a basic tool in digital printing,...
CV_EXPORTS_W void 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 ...
CV_EXPORTS_W void 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,...
CV_EXPORTS_W void 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
CV_EXPORTS_W void 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....
CV_EXPORTS_W void fastNlMeansDenoisingColored(InputArray src, OutputArray dst, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)
Modification of fastNlMeansDenoising function for colored images
CV_EXPORTS_W Ptr< MergeRobertson > createMergeRobertson()
Creates MergeRobertson object
CV_EXPORTS_W Ptr< AlignMTB > createAlignMTB(int max_bits=6, int exclude_range=4, bool cut=true)
Creates AlignMTB object
CV_EXPORTS_W Ptr< CalibrateDebevec > createCalibrateDebevec(int samples=70, float lambda=10.0f, bool random=false)
Creates CalibrateDebevec object
CV_EXPORTS_W Ptr< Tonemap > createTonemap(float gamma=1.0f)
Creates simple linear mapper with gamma correction
CV_EXPORTS_W Ptr< TonemapDrago > createTonemapDrago(float gamma=1.0f, float saturation=1.0f, float bias=0.85f)
Creates TonemapDrago object
CV_EXPORTS_W Ptr< TonemapMantiuk > createTonemapMantiuk(float gamma=1.0f, float scale=0.7f, float saturation=1.0f)
Creates TonemapMantiuk object
CV_EXPORTS_W Ptr< MergeMertens > createMergeMertens(float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f)
Creates MergeMertens object
CV_EXPORTS_W Ptr< MergeDebevec > createMergeDebevec()
Creates MergeDebevec object
CV_EXPORTS_W Ptr< TonemapReinhard > createTonemapReinhard(float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f)
Creates TonemapReinhard object
CV_EXPORTS_W Ptr< CalibrateRobertson > createCalibrateRobertson(int max_iter=30, float threshold=0.01f)
Creates CalibrateRobertson object
CV_EXPORTS_W void inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)
Restores the selected region in an image using the region neighborhood.
@ INPAINT_NS
Use Navier-Stokes based method
Definition: photo.hpp:96
@ INPAINT_TELEA
Use the algorithm proposed by Alexandru Telea
Definition: photo.hpp:97
CV_EXPORTS_W void 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 photorealis...
CV_EXPORTS_W void 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
CV_EXPORTS_W void 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 filte...
CV_EXPORTS_W void detailEnhance(InputArray src, OutputArray dst, float sigma_s=10, float sigma_r=0.15f)
This filter enhances the details of a particular image.
@ RECURS_FILTER
Recursive Filtering
Definition: photo.hpp:799
@ NORMCONV_FILTER
Normalized Convolution Filtering
Definition: photo.hpp:800
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74