Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
Contents

Norm_L1

Computes the L1- norm of image pixel values.

Syntax

Case 1: Operation on one-channel integer data
IppStatus ippiNorm_L1_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f*
pValue
);
Supported values for
mod
:
8u_C1R
16u_C1R
16s_C1R
Case 2: Operation on one-channel floating-point data
IppStatus ippiNorm_L1_32f_C1R(const Ipp32f*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f*
pValue
, IppHintAlgorithm
hint
);
Case 3: Masked operation on one-channel data
IppStatus ippiNorm_L1_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, const Ipp8u*
pMask
, int
maskStep
, IppiSize
roiSize
, Ipp64f*
pNorm
);
Supported values for
mod
:
8u_C1MR
16u_C1MR
32f_C1MR
Case 4: Operation on multi-channel integer data
IppStatus ippiNorm_L1_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f
value[3]
);
Supported values for
mod
:
8u_C3R
16u_C3R
16s_C3R
IppStatus ippiNorm_L1_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f
value[4]
);
Supported values for
mod
:
8u_C4R
16u_C4R
16s_C4R
Case 5: Operation on multi-channel floating-point data
IppStatus ippiNorm_L1_32f_C3R(const Ipp32f*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f
value[3]
, IppHintAlgorithm
hint
);
Supported values for
mod
:
IppStatus ippiNorm_L1_32f_C4R(const Ipp32f*
pSrc
, int
srcStep
, IppiSize
roiSize
, Ipp64f
value[4]
, IppHintAlgorithm
hint
);
Case 6: Masked operation on multi-channel data
IppStatus ippiNorm_L1_<mod>(const Ipp<datatype>*
pSrc
, int
srcStep
, const Ipp8u*
pMask
, int
maskStep
, IppiSize
roiSize
, int
coi
, Ipp64f*
pNorm
);
Supported values for
mod
:
8u_C3CMR
16u_C3CMR
32f_C3CMR
Include Files
ippcv.h
ippi.h
Domain Dependencies
Flavors declared in
ippcv.h
:
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
,
ippi.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
,
ippi.lib
Flavors declared in
ippi.h
:
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.
pMask
Pointer to the mask image.
maskStep
Distance in bytes between starts of consecutive lines in the mask image.
roiSize
Size of the source ROI in pixels.
coi
Channel of interest (for color images only); can be 1, 2, or 3.
pValue
Pointer to the computed L1- norm of pixel values.
value
An array containing the computed L1- norms of channel values in case of multi-channel data.
pNorm
Pointer to the computed norm value in the mask mode.
hint
Option to select the algorithmic implementation of the function.
Description
The flavors of the function
ippiNorm_L1
that perform masked operation are declared in the
ippcv.h
file. All other function flavors are declared in the
ippi.h
file. The function operates with ROI (see Regions of Interest in Intel IPP). It computes the L1- norm
pValue
(
pNorm
in mask mode) for the source image
pSrc
. This norm is defined as the sum of absolute pixel values in an image. Computation algorithm is specified by the
hint
argument (see Table
“Hint Arguments for Image Moment Functions”
). In the mask mode, the computation is done over pixels selected by nonzero mask values.
For non-masked operations on a multi-channel image (
Case 4, 5
), the norm is computed separately for each channel and stored in the array
value
.
In the mask multi-channel mode (
Case 6
), the norm is computed for a single channel of interest specified by
coi
.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error when any of the specified pointers is
NULL
.
ippStsSizeErr
Indicates an error condition if
roiSize
has a field with zero or negative value.
ippStsStepErr
Indicates an error condition in mask mode, if
srcStep
or
maskStep
is less than
roiSize.width * <
pixelSize
>
.
ippStsNotEvenStepErr
Indicates an error condition in mask mode if steps for floating-point images cannot be divided by 4.
ippStsCOIErr
Indicates an error when
coi
is not 1, 2, or 3.

Example

The code example below demonstrates how an image norm can be computed.
IppStatus norm( void ){ Ipp64f sum, normL1;
Ipp8u x[5*4]; IppiSize roi = {5,4}; ippiSet_8u_C1R( 1, x, 5, roi ); ippiSum_8u_C1R( x, 5, roi, &sum); return ippiNorm_L1_8u_C1R( x, 5, roi, &normL1 ); }

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804