mirror of
https://github.com/opencv/opencv.git
synced 2025-06-08 01:53:19 +08:00
Merge pull request #13655 from sturkmen72:update_doc_photo
This commit is contained in:
commit
de8eda5fdf
@ -48,16 +48,35 @@
|
||||
|
||||
/**
|
||||
@defgroup photo Computational Photography
|
||||
|
||||
This module includes photo processing algorithms
|
||||
@{
|
||||
@defgroup photo_inpaint Inpainting
|
||||
@defgroup photo_denoise Denoising
|
||||
@defgroup photo_hdr HDR imaging
|
||||
|
||||
This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment,
|
||||
camera calibration with multiple exposures and exposure fusion.
|
||||
|
||||
@defgroup photo_decolor Contrast Preserving Decolorization
|
||||
|
||||
Useful links:
|
||||
|
||||
http://www.cse.cuhk.edu.hk/leojia/projects/color2gray/index.html
|
||||
|
||||
@defgroup photo_clone Seamless Cloning
|
||||
|
||||
Useful links:
|
||||
|
||||
https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp
|
||||
|
||||
@defgroup photo_render Non-Photorealistic Rendering
|
||||
@defgroup photo_c C API
|
||||
|
||||
Useful links:
|
||||
|
||||
http://www.inf.ufrgs.br/~eslgastal/DomainTransform
|
||||
|
||||
https://www.learnopencv.com/non-photorealistic-rendering-using-opencv-python-c/
|
||||
@}
|
||||
*/
|
||||
|
||||
@ -67,24 +86,13 @@ namespace cv
|
||||
//! @addtogroup photo
|
||||
//! @{
|
||||
|
||||
//! @addtogroup photo_inpaint
|
||||
//! @{
|
||||
//! the inpainting algorithm
|
||||
enum
|
||||
{
|
||||
INPAINT_NS = 0, // Navier-Stokes algorithm
|
||||
INPAINT_TELEA = 1 // A. Telea algorithm
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
NORMAL_CLONE = 1,
|
||||
MIXED_CLONE = 2,
|
||||
MONOCHROME_TRANSFER = 3
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
RECURS_FILTER = 1,
|
||||
NORMCONV_FILTER = 2
|
||||
INPAINT_NS = 0, //!< Use Navier-Stokes based method
|
||||
INPAINT_TELEA = 1 //!< Use the algorithm proposed by Alexandru Telea @cite Telea04
|
||||
};
|
||||
|
||||
/** @brief Restores the selected region in an image using the region neighborhood.
|
||||
@ -95,9 +103,7 @@ needs to be inpainted.
|
||||
@param dst Output image with the same size and type as src .
|
||||
@param inpaintRadius Radius of a circular neighborhood of each point inpainted that is considered
|
||||
by the algorithm.
|
||||
@param flags Inpainting method that could be one of the following:
|
||||
- **INPAINT_NS** Navier-Stokes based method [Navier01]
|
||||
- **INPAINT_TELEA** Method by Alexandru Telea @cite Telea04 .
|
||||
@param flags Inpainting method that could be cv::INPAINT_NS or cv::INPAINT_TELEA
|
||||
|
||||
The function reconstructs the selected image area from the pixel near the area boundary. The
|
||||
function may be used to remove dust and scratches from a scanned photo, or to remove undesirable
|
||||
@ -112,6 +118,8 @@ objects from still images or video. See <http://en.wikipedia.org/wiki/Inpainting
|
||||
CV_EXPORTS_W void inpaint( InputArray src, InputArray inpaintMask,
|
||||
OutputArray dst, double inpaintRadius, int flags );
|
||||
|
||||
//! @} photo_inpaint
|
||||
|
||||
//! @addtogroup photo_denoise
|
||||
//! @{
|
||||
|
||||
@ -678,6 +686,9 @@ CV_EXPORTS_W Ptr<MergeRobertson> createMergeRobertson();
|
||||
|
||||
//! @} photo_hdr
|
||||
|
||||
//! @addtogroup photo_decolor
|
||||
//! @{
|
||||
|
||||
/** @brief 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
|
||||
@cite CL12 .
|
||||
@ -690,9 +701,24 @@ This function is to be applied on color images.
|
||||
*/
|
||||
CV_EXPORTS_W void decolor( InputArray src, OutputArray grayscale, OutputArray color_boost);
|
||||
|
||||
//! @} photo_decolor
|
||||
|
||||
//! @addtogroup photo_clone
|
||||
//! @{
|
||||
|
||||
|
||||
//! seamlessClone algorithm flags
|
||||
enum
|
||||
{
|
||||
/** The power of the method is fully expressed when inserting objects with complex outlines into a new background*/
|
||||
NORMAL_CLONE = 1,
|
||||
/** 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.*/
|
||||
MIXED_CLONE = 2,
|
||||
/** Monochrome transfer allows the user to easily replace certain features of one object by alternative features.*/
|
||||
MONOCHROME_TRANSFER = 3};
|
||||
|
||||
|
||||
/** @example samples/cpp/tutorial_code/photo/seamless_cloning/cloning_demo.cpp
|
||||
An example using seamlessClone function
|
||||
*/
|
||||
@ -707,15 +733,7 @@ content @cite PM03 .
|
||||
@param mask Input 8-bit 1 or 3-channel image.
|
||||
@param p Point in dst image where object is placed.
|
||||
@param blend Output image with the same size and type as dst.
|
||||
@param flags Cloning method that could be one of the following:
|
||||
- **NORMAL_CLONE** The power of the method is fully expressed when inserting objects with
|
||||
complex outlines into a new background
|
||||
- **MIXED_CLONE** 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** Monochrome transfer allows the user to easily replace certain features of
|
||||
one object by alternative features.
|
||||
@param flags Cloning method that could be cv::NORMAL_CLONE, cv::MIXED_CLONE or cv::MONOCHROME_TRANSFER
|
||||
*/
|
||||
CV_EXPORTS_W void seamlessClone( InputArray src, InputArray dst, InputArray mask, Point p,
|
||||
OutputArray blend, int flags);
|
||||
@ -750,18 +768,16 @@ CV_EXPORTS_W void illuminationChange(InputArray src, InputArray mask, OutputArra
|
||||
float alpha = 0.2f, float beta = 0.4f);
|
||||
|
||||
/** @brief 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.
|
||||
washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge %Detector is used.
|
||||
|
||||
@param src Input 8-bit 3-channel image.
|
||||
@param mask Input 8-bit 1 or 3-channel image.
|
||||
@param dst Output image with the same size and type as src.
|
||||
@param low_threshold Range from 0 to 100.
|
||||
@param low_threshold %Range from 0 to 100.
|
||||
@param high_threshold Value \> 100.
|
||||
@param kernel_size The size of the Sobel kernel to be used.
|
||||
|
||||
**NOTE:**
|
||||
|
||||
@note
|
||||
The algorithm assumes that the color of the source image is close to that of the destination. This
|
||||
assumption means that when the colors don't match, the source image color gets tinted toward the
|
||||
color of the destination image.
|
||||
@ -775,16 +791,21 @@ CV_EXPORTS_W void textureFlattening(InputArray src, InputArray mask, OutputArray
|
||||
//! @addtogroup photo_render
|
||||
//! @{
|
||||
|
||||
//! Edge preserving filters
|
||||
enum
|
||||
{
|
||||
RECURS_FILTER = 1, //!< Recursive Filtering
|
||||
NORMCONV_FILTER = 2 //!< Normalized Convolution Filtering
|
||||
};
|
||||
|
||||
/** @brief Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing
|
||||
filters are used in many different applications @cite EM11 .
|
||||
|
||||
@param src Input 8-bit 3-channel image.
|
||||
@param dst Output 8-bit 3-channel image.
|
||||
@param flags Edge preserving filters:
|
||||
- **RECURS_FILTER** = 1
|
||||
- **NORMCONV_FILTER** = 2
|
||||
@param sigma_s Range between 0 to 200.
|
||||
@param sigma_r Range between 0 to 1.
|
||||
@param flags Edge preserving filters: cv::RECURS_FILTER or cv::NORMCONV_FILTER
|
||||
@param sigma_s %Range between 0 to 200.
|
||||
@param sigma_r %Range between 0 to 1.
|
||||
*/
|
||||
CV_EXPORTS_W void edgePreservingFilter(InputArray src, OutputArray dst, int flags = 1,
|
||||
float sigma_s = 60, float sigma_r = 0.4f);
|
||||
@ -793,8 +814,8 @@ CV_EXPORTS_W void edgePreservingFilter(InputArray src, OutputArray dst, int flag
|
||||
|
||||
@param src Input 8-bit 3-channel image.
|
||||
@param dst Output image with the same size and type as src.
|
||||
@param sigma_s Range between 0 to 200.
|
||||
@param sigma_r Range between 0 to 1.
|
||||
@param sigma_s %Range between 0 to 200.
|
||||
@param sigma_r %Range between 0 to 1.
|
||||
*/
|
||||
CV_EXPORTS_W void detailEnhance(InputArray src, OutputArray dst, float sigma_s = 10,
|
||||
float sigma_r = 0.15f);
|
||||
@ -807,9 +828,9 @@ An example using non-photorealistic line drawing functions
|
||||
@param src Input 8-bit 3-channel image.
|
||||
@param dst1 Output 8-bit 1-channel image.
|
||||
@param dst2 Output image with the same size and type as src.
|
||||
@param sigma_s Range between 0 to 200.
|
||||
@param sigma_r Range between 0 to 1.
|
||||
@param shade_factor Range between 0 to 0.1.
|
||||
@param sigma_s %Range between 0 to 200.
|
||||
@param sigma_r %Range between 0 to 1.
|
||||
@param shade_factor %Range between 0 to 0.1.
|
||||
*/
|
||||
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);
|
||||
@ -820,8 +841,8 @@ contrast while preserving, or enhancing, high-contrast features.
|
||||
|
||||
@param src Input 8-bit 3-channel image.
|
||||
@param dst Output image with the same size and type as src.
|
||||
@param sigma_s Range between 0 to 200.
|
||||
@param sigma_r Range between 0 to 1.
|
||||
@param sigma_s %Range between 0 to 200.
|
||||
@param sigma_r %Range between 0 to 1.
|
||||
*/
|
||||
CV_EXPORTS_W void stylization(InputArray src, OutputArray dst, float sigma_s = 60,
|
||||
float sigma_r = 0.45f);
|
||||
|
Loading…
Reference in New Issue
Block a user