⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _cvipp.h

📁 将OpenCV移植到DSP上
💻 H
📖 第 1 页 / 共 3 页
字号:
////////////////////////////////////////////////////////////////////////////////////////////  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.////  By downloading, copying, installing or using the software you agree to this license.//  If you do not agree to this license, do not download, install,//  copy or use the software.//////                 License For Embedded Computer Vision Library//// Copyright (c) 2008, EMCV Project,// Copyright (c) 2000-2007, Intel Corporation,// All rights reserved.// Third party copyrights are property of their respective owners.//// Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met:////    * Redistributions of source code must retain the above copyright notice, //      this list of conditions and the following disclaimer.//    * Redistributions in binary form must reproduce the above copyright notice, //      this list of conditions and the following disclaimer in the documentation //      and/or other materials provided with the distribution.//    * Neither the name of the copyright holders nor the names of their contributors //      may be used to endorse or promote products derived from this software //      without specific prior written permission.//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY // OF SUCH DAMAGE.//// Contributors://    * Shiqi Yu (Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences)#ifndef _CV_IPP_H_#define _CV_IPP_H_/****************************************************************************************\*                                  Creating Borders                                      *\****************************************************************************************/#define IPCV_COPY_BORDER( bordertype, flavor )                                      \IPCVAPI_EX( CvStatus, icvCopy##bordertype##Border_##flavor##R,                      \    "ippiCopy" #bordertype "Border_" #flavor "R", CV_PLUGINS1(CV_PLUGIN_IPPI),      \    ( const void* pSrc,  int srcStep, CvSize srcRoiSize, void* pDst,  int dstStep,  \      CvSize dstRoiSize, int topBorderHeight, int leftBorderWidth ))                \                                                                                    \IPCVAPI_EX( CvStatus, icvCopy##bordertype##Border_##flavor##IR,                     \    "ippiCopy" #bordertype "Border_" #flavor "IR", CV_PLUGINS1(CV_PLUGIN_IPPI),     \    ( const void* pSrc,  int srcDstStep, CvSize srcRoiSize,                         \      CvSize dstRoiSize, int topBorderHeight, int leftBorderWidth ))IPCV_COPY_BORDER( Replicate, 8u_C1 )IPCV_COPY_BORDER( Replicate, 16s_C1 )IPCV_COPY_BORDER( Replicate, 8u_C3 )IPCV_COPY_BORDER( Replicate, 32s_C1 )IPCV_COPY_BORDER( Replicate, 16s_C3 )IPCV_COPY_BORDER( Replicate, 16s_C4 )IPCV_COPY_BORDER( Replicate, 32s_C3 )IPCV_COPY_BORDER( Replicate, 32s_C4 )/****************************************************************************************\*                                        Moments                                         *\****************************************************************************************/#define IPCV_MOMENTS( suffix, ipp_suffix, cn )                      \IPCVAPI_EX( CvStatus, icvMoments##suffix##_C##cn##R,                \"ippiMoments" #ipp_suffix "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\( const void* img, int step, CvSize size, void* momentstate ))IPCV_MOMENTS( _8u, 64f_8u, 1 )IPCV_MOMENTS( _32f, 64f_32f, 1 )#undef IPCV_MOMENTSIPCVAPI_EX( CvStatus, icvMomentInitAlloc_64f,            "ippiMomentInitAlloc_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),            (void** momentstate, CvHintAlgorithm hint ))IPCVAPI_EX( CvStatus, icvMomentFree_64f,            "ippiMomentFree_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),            (void* momentstate ))IPCVAPI_EX( CvStatus, icvGetSpatialMoment_64f,            "ippiGetSpatialMoment_64f", CV_PLUGINS1(CV_PLUGIN_IPPI),            (const void* momentstate, int mOrd, int nOrd,             int nChannel, CvPoint roiOffset, double* value ))/****************************************************************************************\*                                  Background differencing                               *\****************************************************************************************//////////////////////////////////// Accumulation /////////////////////////////////////////#define IPCV_ACCUM( flavor, arrtype, acctype )                                      \IPCVAPI_EX( CvStatus, icvAdd_##flavor##_C1IR,                                       \    "ippiAdd_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                       \    ( const arrtype* src, int srcstep, acctype* dst, int dststep, CvSize size ))    \IPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C1IR,                                 \    "ippiAddSquare_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                 \    ( const arrtype* src, int srcstep, acctype* dst, int dststep, CvSize size ))    \IPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C1IR,                                \    "ippiAddProduct_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \      acctype* dst, int dststep, CvSize size ))                                     \IPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C1IR,                               \    "ippiAddWeighted_" #flavor "_C1IR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \    ( const arrtype* src, int srcstep, acctype* dst, int dststep,                   \      CvSize size, acctype alpha ))                                                 \                                                                                    \IPCVAPI_EX( CvStatus, icvAdd_##flavor##_C1IMR,                                      \    "ippiAdd_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                      \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size ))                                     \IPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C1IMR,                                \    "ippiAddSquare_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size ))                                     \IPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C1IMR,                               \    "ippiAddProduct_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \      const uchar* mask, int maskstep, acctype* dst, int dststep, CvSize size ))    \IPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C1IMR,                              \    "ippiAddWeighted_" #flavor "_C1IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),              \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size, acctype alpha ))                      \                                                                                    \IPCVAPI_EX( CvStatus, icvAdd_##flavor##_C3IMR,                                      \    "ippiAdd_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                      \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size ))                                     \IPCVAPI_EX( CvStatus, icvAddSquare_##flavor##_C3IMR,                                \    "ippiAddSquare_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),                \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size ))                                     \IPCVAPI_EX( CvStatus, icvAddProduct_##flavor##_C3IMR,                               \    "ippiAddProduct_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),               \    ( const arrtype* src1, int srcstep1, const arrtype* src2, int srcstep2,         \      const uchar* mask, int maskstep, acctype* dst, int dststep, CvSize size ))    \IPCVAPI_EX( CvStatus, icvAddWeighted_##flavor##_C3IMR,                              \    "ippiAddWeighted_" #flavor "_C3IMR", CV_PLUGINS1(CV_PLUGIN_IPPCV),              \    ( const arrtype* src, int srcstep, const uchar* mask, int maskstep,             \      acctype* dst, int dststep, CvSize size, acctype alpha ))IPCV_ACCUM( 8u32f, uchar, float )IPCV_ACCUM( 32f, float, float )#undef IPCV_ACCUM/****************************************************************************************\*                                       Pyramids                                         *\****************************************************************************************/IPCVAPI_EX( CvStatus, icvPyrDownGetBufSize_Gauss5x5,           "ippiPyrDownGetBufSize_Gauss5x5", CV_PLUGINS1(CV_PLUGIN_IPPCV),            ( int roiWidth, CvDataType dataType, int channels, int* bufSize ))IPCVAPI_EX( CvStatus, icvPyrUpGetBufSize_Gauss5x5,           "ippiPyrUpGetBufSize_Gauss5x5", CV_PLUGINS1(CV_PLUGIN_IPPCV),            ( int roiWidth, CvDataType dataType, int channels, int* bufSize ))#define ICV_PYRDOWN( flavor, cn )                                           \IPCVAPI_EX( CvStatus, icvPyrDown_Gauss5x5_##flavor##_C##cn##R,              \"ippiPyrDown_Gauss5x5_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV), \( const void* pSrc, int srcStep, void* pDst, int dstStep,                   \  CvSize roiSize, void* pBuffer ))#define ICV_PYRUP( flavor, cn )                                             \IPCVAPI_EX( CvStatus, icvPyrUp_Gauss5x5_##flavor##_C##cn##R,                \"ippiPyrUp_Gauss5x5_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPCV),   \( const void* pSrc, int srcStep, void* pDst, int dstStep,                   \  CvSize roiSize, void* pBuffer ))ICV_PYRDOWN( 8u, 1 )ICV_PYRDOWN( 8u, 3 )ICV_PYRDOWN( 32f, 1 )ICV_PYRDOWN( 32f, 3 )ICV_PYRUP( 8u, 1 )ICV_PYRUP( 8u, 3 )ICV_PYRUP( 32f, 1 )ICV_PYRUP( 32f, 3 )#undef ICV_PYRDOWN#undef ICV_PYRUP/****************************************************************************************\*                                Geometric Transformations                               *\****************************************************************************************/#define IPCV_RESIZE( flavor, cn )                                           \IPCVAPI_EX( CvStatus, icvResize_##flavor##_C##cn##R,                        \            "ippiResize_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\           (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,    \            void* dst, int dststep, CvSize dstroi,                          \            double xfactor, double yfactor, int interpolation ))IPCV_RESIZE( 8u, 1 )IPCV_RESIZE( 8u, 3 )IPCV_RESIZE( 8u, 4 )IPCV_RESIZE( 16u, 1 )IPCV_RESIZE( 16u, 3 )IPCV_RESIZE( 16u, 4 )IPCV_RESIZE( 32f, 1 )IPCV_RESIZE( 32f, 3 )IPCV_RESIZE( 32f, 4 )#undef IPCV_RESIZE#define IPCV_WARPAFFINE_BACK( flavor, cn )                                  \IPCVAPI_EX( CvStatus, icvWarpAffineBack_##flavor##_C##cn##R,                \    "ippiWarpAffineBack_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\    (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,           \    void* dst, int dststep, CvRect dstroi,                                  \    const double* coeffs, int interpolate ))IPCV_WARPAFFINE_BACK( 8u, 1 )IPCV_WARPAFFINE_BACK( 8u, 3 )IPCV_WARPAFFINE_BACK( 8u, 4 )IPCV_WARPAFFINE_BACK( 32f, 1 )IPCV_WARPAFFINE_BACK( 32f, 3 )IPCV_WARPAFFINE_BACK( 32f, 4 )#undef IPCV_WARPAFFINE_BACK#define IPCV_WARPPERSPECTIVE_BACK( flavor, cn )                             \IPCVAPI_EX( CvStatus, icvWarpPerspectiveBack_##flavor##_C##cn##R,           \    "ippiWarpPerspectiveBack_" #flavor "_C" #cn "R", CV_PLUGINS1(CV_PLUGIN_IPPI),\    (const void* src, CvSize srcsize, int srcstep, CvRect srcroi,           \    void* dst, int dststep, CvRect dstroi,                                  \    const double* coeffs, int interpolate ))IPCV_WARPPERSPECTIVE_BACK( 8u, 1 )IPCV_WARPPERSPECTIVE_BACK( 8u, 3 )IPCV_WARPPERSPECTIVE_BACK( 8u, 4 )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -