Visible to Intel only — GUID: GUID-6DCBCB00-B1D7-4D08-AA09-3ED960CFF64E
Visible to Intel only — GUID: GUID-6DCBCB00-B1D7-4D08-AA09-3ED960CFF64E
LBPImageHorizCorr
Calculates a correlation between two LBPs.
Syntax
IppStatus ippiLBPImageHorizCorr_<mod>(const Ipp<datatype>* pSrc1, int src1Step, const Ipp<datatype>* pSrc2, int src2Step, Ipp<datatype>* pDst, int dstStep, IppiSize dstRoiSize, int horShift, IppiBorderType borderType, const Ipp<datatype>* borderValue);
Supported values for mod:
8u_C1R | 16u_C1R |
Include Files
ippi.h
Domain Dependencies
Headers: ippcore.h, ippvm.h, ipps.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib
Parameters
pSrc1, pSrc2 |
Pointers to the source image ROI. |
||||
src1Step, src2Step |
Distance, in bytes, between the starting points of consecutive lines in the source image. |
||||
pDst |
Pointer to the destination image ROI. |
||||
dstStep |
Distance, in bytes, between the starting points of consecutive lines in the destination image. |
||||
dstRoiSize |
Size of the destination ROI in pixels. |
||||
horShift |
Horizontal shift of the pSrc2 image. |
||||
borderType |
Type of border. Possible values are:
Mixed borders are also supported. They can be obtained by the bitwise operation OR between ippBorderRepl and ippBorderInMemTop, ippBorderInMemBottom, ippBorderInMemLeft, ippBorderInMemRight. |
||||
borderValue |
Constant value to assign to pixels of the constant border. This parameter is applicable only to the ippBorderConst border type. |
Description
This function operates with ROI.
This function calculates the difference between two LBP images. The result is stored in the pDst destination image.
Return Values
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error if dstRoiSize has a field with zero or negative value. |
ippStsBadArgErr |
Indicates an error when border has an illegal value. |
Example
/*******************************************************************************
* Copyright 2015 Intel Corporation.
*
*
* This software and the related documents are Intel copyrighted materials, and your use of them is governed by
* the express license under which they were provided to you ('License'). Unless the License provides otherwise,
* you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related
* documents without Intel's prior written permission.
* This software and the related documents are provided as is, with no express or implied warranties, other than
* those that are expressly stated in the License.
*******************************************************************************/
// A simple example of calculating a correlation between
// two LBPs using Intel(R) Integrated Performance Primitives (Intel(R) IPP) function:
// ippiLBPImageHorizCorr_8u_C1R
#include <stdio.h>
#include "ipp.h"
#define WIDTH 128 /* image width */
#define HEIGHT 64 /* image height */
/* Next two defines are created to simplify code reading and understanding */
#define EXIT_MAIN exitLine: /* Label for Exit */
#define check_sts(st) if((st) != ippStsNoErr) goto exitLine; /* Go to Exit if Intel(R) IPP function returned status different from ippStsNoErr */
/* Results of ippMalloc() are not validated because Intel(R) IPP functions perform bad arguments check and will return an appropriate status */
int main(void)
{
IppStatus status = ippStsNoErr;
Ipp8u* pSrc1 = NULL, *pSrc2 = NULL, *pDst = NULL; /* Pointers to source/destination images */
int srcStep1 = 0, srcStep2 = 0, dstStep = 0; /* Steps, in bytes, through the source/destination images */
IppiSize roiSize = { WIDTH, HEIGHT }; /* Size of source/destination ROI in pixels */
const Ipp8u borderValue[1] = { 3 };
int shift = 4; /* Horizontal shift of the pSrc2 image */
pSrc1 = ippiMalloc_8u_C1(roiSize.width, roiSize.height, &srcStep1);
pSrc2 = ippiMalloc_8u_C1(roiSize.width, roiSize.height, &srcStep2);
pDst = ippiMalloc_8u_C1(roiSize.width, roiSize.height, &dstStep);
check_sts( status = ippiLBPImageHorizCorr_8u_C1R(pSrc1, srcStep1, pSrc2, srcStep2, pDst, dstStep, roiSize, shift, ippBorderRepl, borderValue) )
EXIT_MAIN
ippiFree(pSrc1);
ippiFree(pSrc2);
ippiFree(pDst);
printf("Exit status %d (%s)\n", (int)status, ippGetStatusString(status));
return (int)status;
}