| OpenCV 3.4.8 Open Source Computer Vision

Enumerations | Functions
Non-Photorealistic Rendering
Computational Photography

## Enumerations
enum | { cv::RECURS_FILTER = 1, cv::NORMCONV_FILTER = 2 }
| Edge preserving filters. More...

## Functions
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. More...
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 [73] . More...
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. More...
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. More...

## Detailed Description

Useful links:

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

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

## Enumeration Type Documentation

## § anonymous enum

anonymous enum

`#include <opencv2/photo.hpp>`

Edge preserving filters.

Enumerator
RECURS_FILTER Python: cv.RECURS_FILTER | Recursive Filtering.
NORMCONV_FILTER Python: cv.NORMCONV_FILTER | Normalized Convolution Filtering.

## Function Documentation

## § detailEnhance()

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

Python:
| dst | = | cv.detailEnhance( | src[, dst[, sigma_s[, sigma_r]]] | )

`#include <opencv2/photo.hpp>`

This filter enhances the details of a particular image.

Parameters

  src | Input 8-bit 3-channel image.
  dst | Output image with the same size and type as src.
  sigma_s | Range between 0 to 200.
  sigma_r | Range between 0 to 1.

Examples:
  samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp.

## § edgePreservingFilter()

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

Python:
| dst | = | cv.edgePreservingFilter( | src[, dst[, flags[, sigma_s[, sigma_r]]]] | )

`#include <opencv2/photo.hpp>`

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

Parameters

  src | Input 8-bit 3-channel image.
  dst | Output 8-bit 3-channel image.
  flags | Edge preserving filters: cv::RECURS_FILTER or cv::NORMCONV_FILTER
  sigma_s | Range between 0 to 200.
  sigma_r | Range between 0 to 1.

Examples:
  samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp.

## § pencilSketch()

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

Python:
| dst1, dst2 | = | cv.pencilSketch( | src[, dst1[, dst2[, sigma_s[, sigma_r[, shade_factor]]]]] | )

`#include <opencv2/photo.hpp>`

Pencil-like non-photorealistic line drawing.

Parameters

  src | Input 8-bit 3-channel image.
  dst1 | Output 8-bit 1-channel image.
  dst2 | Output image with the same size and type as src.
  sigma_s | Range between 0 to 200.
  sigma_r | Range between 0 to 1.
  shade_factor | Range between 0 to 0.1.

Examples:
  samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp.

## § stylization()

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

Python:
| dst | = | cv.stylization( | src[, dst[, sigma_s[, sigma_r]]] | )

`#include <opencv2/photo.hpp>`

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.

Parameters

  src | Input 8-bit 3-channel image.
  dst | Output image with the same size and type as src.
  sigma_s | Range between 0 to 200.
  sigma_r | Range between 0 to 1.

Examples:
  samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp.