### Navigation

- index
- next |
- previous |
- OpenCV 3.0.0-dev documentation »
- OpenCV API Reference »
- photo. Computational Photography »

# Non-Photorealistic Rendering

## edgePreservingFilter

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

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

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

## detailEnhance

This filter enhances the details of a particular image.

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

  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.

## pencilSketch

Pencil-like non-photorealistic line drawing

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

  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.

## stylization

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.

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

  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.

[EM11] | Eduardo S. L. Gastal, Manuel M. Oliveira, “Domain transform for edge-aware image and video processing”, ACM Trans. Graph. 30(4): 69, 2011.

## Help and Feedback

You did not find what you were looking for?

- Ask a question on the Q&A forum.
- If you think something is missing or wrong in the documentation, please file a bug report.

### Navigation

- index
- next |
- previous |
- OpenCV 3.0.0-dev documentation »
- OpenCV API Reference »
- photo. Computational Photography »