Visible to Intel only — GUID: GUID-1CE7D1E5-1527-4FB2-A409-A1A659239EE0
Visible to Intel only — GUID: GUID-1CE7D1E5-1527-4FB2-A409-A1A659239EE0
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 than thresholdLT. 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 exceeds thresholdGT. 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 is NULL. |
ippStsSizeErr |
Indicates an error condition if roiSize has a field with zero or negative value. |
ippStsThresholdErr |
Indicates an error when thresholdLT is greater than thresholdGT. |
ippStsStepErr |
Indicates an error condition if srcStep, dstStep, or srcDstStep has 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