Threshold_LTValGTVal
Performs double thresholding of pixel values in an image buffer.
Syntax
Case 1: Not-in-place operation on one-channel data
IppStatus ippiThreshold_LTValGTVal_<mod>
(
const Ipp<datatype>*
pSrc
,
int
srcStep
,
Ipp<datatype>*
pDst
,
int
dstStep
,
IppiSize
roiSize
,
Ipp<datatype>
thresholdLT
,
Ipp<datatype>
valueLT
,
Ipp<datatype>
thresholdGT
,
Ipp<datatype>
valueGT
);
Supported values for
mod
:8u_C1R | 16u_C1R | 16s_C1R | 32f_C1R |
Case 2: Not-in-place operation on multi-channel data
IppStatus ippiThreshold_LTValGTVal_<mod>
(
const Ipp<datatype>*
pSrc
,
int
srcStep
,
Ipp<datatype>*
pDst
,
int
dstStep
,
IppiSize
roiSize
,
const Ipp<datatype>
thresholdLT
[3]
,
const Ipp<datatype>
valueLT
[3]
,
const Ipp<datatype>
thresholdGT
[3]
,
const Ipp<datatype>
valueGT
[3]
);
Supported values for
mod
:8u_C3R | 16u_C3R | 16s_C3R | 32f_C3R |
8u_AC4R | 16u_AC4R | 16s_AC4R | 32f_AC4R |
Case 3: In-place operation on one-channel data
IppStatus ippiThreshold_LTValGTVal_<mod>
(
Ipp<datatype>*
pSrcDst
,
int
srcDstStep
,
IppiSize
roiSize
,
Ipp<datatype>
thresholdLT
,
Ipp<datatype>
valueLT
,
Ipp<datatype>
thresholdGT
,
Ipp<datatype>
valueGT
);
Supported values for
mod
:8u_C1IR | 16u_C1IR | 16s_C1IR | 32f_C1IR |
Case 4: In-place operation on multi-channel data
IppStatus ippiThreshold_LTValGTVal_<mod>
(
Ipp<datatype>*
pSrcDst
,
int
srcDstStep
,
IppiSize
roiSize
,
const Ipp<datatype>
thresholdLT
[3]
,
const Ipp<datatype>
valueLT
[3]
,
const Ipp<datatype>
thresholdGT
[3]
,
const Ipp<datatype>
valueGT
[3]
);
Supported values for
mod
8u_C3IR | 16u_C3IR | 16s_C3IR | 32f_C3IR |
8u_AC4IR | 16u_AC4IR | 16s_AC4IR | 32f_AC4IR |
Include Files
ippi.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
- pSrc
- Pointer to the source image ROI.
- srcStep
- Distance in bytes between starts of consecutive lines in the source image.
- pDst
- Pointer to the destination image ROI.
- dstStep
- Distance in bytes between starts of consecutive lines in the destination image.
- pSrcDst
- Pointer to the source and destination image ROI (for the in-place operation).
- srcDstStep
- Distance in bytes between starts of consecutive lines in the source and destination image buffer (for the in-place operation).
- roiSize
- Size of the source and destination ROI in pixels.
- thresholdLT
- The lower threshold value to use for each pixel.In case of multi-channel data, an array of three lower threshold values (one for each color channel) is used.
- valueLT
- The lower output value to be set for each pixel that is less thanthresholdLT. In case of multi-channel data, an array of 3 lower output values (one for each color channel) is used.
- thresholdGT
- The upper threshold value to use for each pixel.In case of multi-channel data, an array of three upper threshold values (one for each color channel) is used.
- valueGT
- The upper output value to be set for each pixel that exceedsthresholdGT. In case of multi-channel data, an array of three upper output values (one for each color channel) is used.
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function thresholds pixels in the source image
pSrc
using two specified levels thresholdLT
and thresholdGT
. Pixel values in the source image are compared to these levels. If the pixel value is less than thresholdLT
, the corresponding output pixel is set to valueLT
. If the pixel value is greater than thresholdGT
, the output pixel is set to valueGT
. Otherwise, it is set to the source pixel value. The value of thresholdLT
should be less than or equal to thresholdGT
.Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error or a warning.
- ippStsNullPtrErr
- Indicates an error condition if one of the specified pointer isNULL.
- ippStsSizeErr
- Indicates an error condition ifroiSizehas a field with zero or negative value.
- ippStsThresholdErr
- Indicates an error whenthresholdLTis greater thanthresholdGT.
- ippStsStepErr
- Indicates an error condition ifsrcStep,dstStep, orsrcDstStephas a zero or negative value.
Example
The code example below illustrates thresholding with two levels.
IppStatus threshold( void ) { Ipp8u x[5*4]; IppiSize roi = {5,4}; int i; for( i=0; i<5*4; ++i ) x[i] = (Ipp8u)i; return ippiThreshold_LTValGTVal_8u_C1IR( x, 5, roi, 2,1,6,7 ); }
The destination image
x
contains:01 01 02 03 04 05 06 07 07 07 07 07 07 07 07 07 07 07 07 07