iwiFilter
Syntax
class IwiFilterParams: public ::IwiFilterParams
{
public:
IW_BASE_PARAMS_CONSTRUCTORS(IwiFilterParams, iwiFilter_SetDefaultParams)
IwiFilterParams(double _divisor = 0, int _offset = 0, IppHintAlgorithm _algoMode = ippAlgHintNone, IppRoundMode _roundMode = ippRndNear);
};
IW_DECL_CPP(IppStatus) iwiFilter(
const IwiImage &srcImage,
IwiImage &dstImage,
const IwiImage &kernel,
const IwiFilterParams &auxParams = IwiFilterParams(),
const IwiBorderType &border = ippBorderRepl,
const IwiTile &tile = IwiTile()
)
Parameters
- srcImage
- Reference to the source image.
- dstImage
- Reference to the destination image.
- kernel
- Reference to the filter kernel image. Kernel must be continuous, one-channel, and of16sor32ftype.
- auxParams
- Reference to the auxiliary parameters structure.
- border
- Extrapolation algorithm for out of image pixels processing. Supported values:
- ippBorderConst
- Values of all border pixels are set to a constant.
- ippBorderRepl
- Border is replicated from the edge pixels.
- ippBorderInMem
- Border is obtained from the source image pixels in memory.
- ippBorderMirror
- Border pixels are mirrored from the source image boundary pixels.
- tile
- Reference to theIwiTilestructure for tiling. By default, no tiling is applied.
Auxiliary Arguments
Argument | Default Value | Description |
---|---|---|
divisor | 0 | Value by which the computed result is divided for 16s kernel type. If divisor is equal to zero and the sum of the kernel elements is not equal to zero, then the result is normalized by the sum of the kernel elements. Only integer values are supported. |
offset | 0 | An offset value that is added to the final signed result before converting it to unsigned for 8u and 16u data types. |
roundMode | IppRndNear | Rounding mode. |
algoMode | IppAlgHintNone | Flag enabling intermediate conversions to extend data types and channels support. |
Description
This function performs filtering of an image with an arbitrary kernel.
This function supports the following features:
Feature | Support |
---|---|
Data types | 8u , 16u , 16s , 32s |
In-place mode | No |
64-bit sizes | No |
Internal threading | No |
Manual tiling | Yes |
IwsTile simple tiling | Yes |
IwsTile pipeline tiling | Yes |
Return Values
- ippStsNoErr
- No errors.
Exception Values
- ippStsBorderErr
- Thebordervalue is illegal.
- ippStsDataTypeErr
- ThedataTypevalue is illegal.
- ippStsNumChannelsErr
- The value for channels is illegal.
- ippStsNotEvenStepErr
- The step value is not divisible by the size of elements.
- ippStsNotSupportedModeErr
- The selected function mode is not supported.
- ippStsInplaceModeNotSupportedErr
- In-place operation is not supported:srcImageis equal todstImage.
- ippStsNullPtrErr
- At least one of the references (excepttile) isNULL.