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

📄 imageconvert.cpp

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 CPP
字号:
/* ////////////////////////////////////////////////////////////////////////////                  INTEL CORPORATION PROPRIETARY INFORMATION//     This software is supplied under the terms of a license agreement or//     nondisclosure agreement with Intel Corporation and may not be copied//     or disclosed except in accordance with the terms of that agreement.//          Copyright(c) 2004-2005 Intel Corporation. All Rights Reserved.//////*/#include "imageconvert.h"#include "pp.h"inline void Add(    const ImageCoreC<Ipp32s, 1> &srcDst,    const RectSize              &size,    Ipp32s                       value){    if(!value) return;    Ipp32s *srcDstData  = srcDst.Data();    unsigned int step   = srcDst.LineStep();    unsigned int width  = size.Width();    unsigned int height = size.Height();    for(unsigned int y = 0; y < height; y++)    {        for(unsigned int x = 0; x < width; x++) srcDstData[x] += value;        addrInc(srcDstData, step);    }}void ConvertDynRange(    const ImageCoreC<Ipp32s, 1> &srcDst,    const RectSize              &size,    unsigned int srcBitDepth, bool srcIsSigned,    unsigned int dstBitDepth, bool dstIsSigned){    int shift = dstBitDepth - srcBitDepth;    Ipp32s add;    if(dstIsSigned)    {        add = srcIsSigned ? 0 : -(Ipp32s)1 << (Ipp32s)srcBitDepth;    }    else    {        add = srcIsSigned ? (Ipp32s)1 << (Ipp32s)srcBitDepth : 0;    }    Shift(srcDst, size, shift);    Add  (srcDst, size, add);}void Saturate(    const ImageCoreC<Ipp32s, 1> &srcDst,    const RectSize              &size,    Ipp32s                       min,    Ipp32s                       max){    Ipp32s *srcDstData  = srcDst.Data();    unsigned int step   = srcDst.LineStep();    unsigned int width  = size.Width();    unsigned int height = size.Height();    for(unsigned int y = 0; y < height; y++)    {        for(unsigned int x = 0; x < width; x++)        {            if(srcDstData[x] > max) srcDstData[x] = max;            if(srcDstData[x] < min) srcDstData[x] = min;        }        addrInc(srcDstData, step);    }}

⌨️ 快捷键说明

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