Quantcast
Channel: Intel® Integrated Performance Primitives
Viewing all 1040 articles
Browse latest View live

Apply Filter on Image Using "In Place"

$
0
0

Hello,

I know that as a policy you removed all the "In Place" function in Intel IPP.
I'm talking about the Image Processing domain functions.

I was wondering though, what would happen if I send the pointer as destination and source?
Should the current function work? Which might fail?

I'm asking specifically on the Column / Row Filter.
Should it work?
Should other work?
Could you publish a list of functions which should perform correctly in this case?

Thank You.


Canny Edge Detector

$
0
0

Hi, I have some problems width canny edge detector using IPP

I make three steps:

I have 3-channel image(byte array), that ordered like this RGBRGB...

The first step is applying grayScale filter.

The second is calculation gradients dx and dy using IPP vertical and horizontal Sobel filters with border, 

The last step is using ippiCanny

Code:

unsigned char * RGBToGrayScaleIpp(unsigned char * src, int width, int height, int channels)
{
    IppiSize ROI = {width, height};
    Ipp8u *GrayScaleImg = new Ipp8u[width * height];
    ippiRGBToGray_8u_C3C1R(src, width * channels * sizeof(Ipp8u), GrayScaleImg, width * sizeof(Ipp8u), ROI);
    return GrayScaleImg;
}

extern "C" __declspec(dllexport) unsigned char* __stdcall Canny(unsigned char * img, int channels, int width, int height)
{

    Ipp8u *GrayScaleImg = RGBToGrayScaleIpp(img, width, height, channels);

    IppiSize roiSize = {width - 1, height - 1};

    int horizBufferSize, vertBufferSize;
    
    IppiMaskSize maskSize = ippMskSize3x3;
    ippiFilterSobelVertGetBufferSize_8u16s_C1R(roiSize, maskSize, &vertBufferSize);
    ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roiSize, maskSize, &horizBufferSize);

    Ipp8u *horizBuffer = ippsMalloc_8u(horizBufferSize);
    Ipp8u *vertBuffer = ippsMalloc_8u(vertBufferSize);

    Ipp16s *dx = new Ipp16s[width * height];
    Ipp16s *dy = new Ipp16s[width * height];

    ippiFilterSobelVertBorder_8u16s_C1R(GrayScaleImg, width * sizeof(Ipp8u), dx, (width - 1) * sizeof(Ipp16s), roiSize, maskSize, ippBorderRepl, 0, vertBuffer);
    ippiFilterSobelHorizBorder_8u16s_C1R(GrayScaleImg, width * sizeof(Ipp8u), dy, (width - 1) * sizeof(Ipp16s), roiSize, maskSize, ippBorderRepl, 0, horizBuffer);

    Ipp8u *buffer;
    if (vertBufferSize < horizBufferSize)
    {
        ippiCannyGetSize(roiSize, &horizBufferSize);
        buffer = ippsMalloc_8u(horizBufferSize);
    }
    else
    {
        ippiCannyGetSize(roiSize, &vertBufferSize);
        buffer = ippsMalloc_8u(vertBufferSize);
    }

    
    Ipp32f low=100.0f, high=100.0f;
    Ipp8u* dst = new Ipp8u[width * height];
    ippiCanny_16s8u_C1R(dx, (width - 1) * sizeof(Ipp16s), dy, (width - 1) * sizeof(Ipp16s), dst, width * sizeof(Ipp8u), roiSize, low, high, buffer);

    ippsFree(buffer);

    return dst;

}

I get incorrect result. In attach files there are 3 images source, filtered using .NET Aforge and filtered using IPP. Can you see any mistakes in my code? Please, help.

 

Canny Edge Detector

$
0
0

Hi, I have some problems width canny edge detector using IPP

I make three steps:

I have 3-channel image(byte array), that ordered like this RGBRGB...

The first step is applying grayScale filter.

The second is calculation gradients dx and dy using IPP vertical and horizontal Sobel filters with border, 

The last step is using ippiCanny

Code:

unsigned char * RGBToGrayScaleIpp(unsigned char * src, int width, int height, int channels)
{
    IppiSize ROI = {width, height};
    Ipp8u *GrayScaleImg = new Ipp8u[width * height];
    ippiRGBToGray_8u_C3C1R(src, width * channels * sizeof(Ipp8u), GrayScaleImg, width * sizeof(Ipp8u), ROI);
    return GrayScaleImg;
}

extern "C" __declspec(dllexport) unsigned char* __stdcall Canny(unsigned char * img, int channels, int width, int height)
{

    Ipp8u *GrayScaleImg = RGBToGrayScaleIpp(img, width, height, channels);

    IppiSize roiSize = {width - 1, height - 1};

    int horizBufferSize, vertBufferSize;
    
    IppiMaskSize maskSize = ippMskSize3x3;
    ippiFilterSobelVertGetBufferSize_8u16s_C1R(roiSize, maskSize, &vertBufferSize);
    ippiFilterSobelHorizGetBufferSize_8u16s_C1R(roiSize, maskSize, &horizBufferSize);

    Ipp8u *horizBuffer = ippsMalloc_8u(horizBufferSize);
    Ipp8u *vertBuffer = ippsMalloc_8u(vertBufferSize);

    Ipp16s *dx = new Ipp16s[width * height];
    Ipp16s *dy = new Ipp16s[width * height];

    ippiFilterSobelVertBorder_8u16s_C1R(GrayScaleImg, width * sizeof(Ipp8u), dx, (width - 1) * sizeof(Ipp16s), roiSize, maskSize, ippBorderRepl, 0, vertBuffer);
    ippiFilterSobelHorizBorder_8u16s_C1R(GrayScaleImg, width * sizeof(Ipp8u), dy, (width - 1) * sizeof(Ipp16s), roiSize, maskSize, ippBorderRepl, 0, horizBuffer);

    Ipp8u *buffer;
    if (vertBufferSize < horizBufferSize)
    {
        ippiCannyGetSize(roiSize, &horizBufferSize);
        buffer = ippsMalloc_8u(horizBufferSize);
    }
    else
    {
        ippiCannyGetSize(roiSize, &vertBufferSize);
        buffer = ippsMalloc_8u(vertBufferSize);
    }

    
    Ipp32f low=100.0f, high=100.0f;
    Ipp8u* dst = new Ipp8u[width * height];
    ippiCanny_16s8u_C1R(dx, (width - 1) * sizeof(Ipp16s), dy, (width - 1) * sizeof(Ipp16s), dst, width * sizeof(Ipp8u), roiSize, low, high, buffer);

    ippsFree(buffer);

    return dst;

}

I get incorrect result. In attach files there are 3 images source, filtered using .NET Aforge and filtered using IPP. Can you see any mistakes in my code? Please, help.

 

AttachmentSize
Downloadaforge.jpg28.31 KB
Downloadipp.jpg12.95 KB
Downloadsource.jpg4.74 KB

error LNK1104: libmmt.lib

$
0
0

h files and *.lib file from another developer.
I have built a C++/CLI project and I want to create a C# wrapper for two functions

I'm getting this error

    error LNK1104: cannot open file 'libmmt.lib'    

I understand the he is using Intel Compiler and I know he uses IPP functions.<Br>
from here:<br>
https://software.intel.com/en-us/articles/libraries-provided-by-intelr-c...

I understand that he also uses Multi-threaded 
static library (/MT) version of math library.

I have Intel parallel studio installed. can you please help me understand how to configure my C++/CLI project?

I have added 
$(ICPP_COMPILER15)compiler\lib\intel64 into Additional Library Directories inside Linker -> General and now I have many more errors:

    error LNK2019: unresolved external symbol ippsSum_32f referenced in function ia_cp_robustMest

    error LNK2019: unresolved external symbol ippsSubC_32f referenced in function ia_cp_estimaSigmaRob

and so on...

 

Remap function, OpenCV, speed up

$
0
0

Hello,

I am using OpenCV remap function.

But i need more speed up for my application.

Does OpenCV with IPP supports remap acceleration?

Here i can't see remap function: http://opencv.org/opencv-3-0-alpha.html

If IPP has fast remap function like opencv remap(src_mat, dst_mat, map_x, map_y), where i can see examples and try it?

Best regards Viktor.

missing function overloads in 9.0 Beta?

$
0
0

 

I am building a project that worked fine with IPP 8.0, but compilation fails with 9.0 Beta

1>d:\apama\src\libs\utils\apfilter.cpp(622): error C3861: 'ippiFilterRow_32f_C3R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(655): error C3861: 'ippiFilterColumn_32f_C3R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(731): error C3861: 'ippiFilter_32f_C1R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(1098): error C3861: 'ippiWarpAffine_32f_C1R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(1338): error C3861: 'ippiWarpAffine_32f_C1R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(1375): error C3861: 'ippiRotateCenter_8u_C1R': identifier not found
1>d:\apama\src\libs\utils\apfilter.cpp(1426): error C3861: 'ippiRotateCenter_32f_C1R': identifier not found

When I look in ippi.h, these functions are missing - but they are there in 8.0.

For example, in 8.0 there were 15 overloads of 'ippiFilterRow_xxx_xxx, there is now only one,

IPPAPI( IppStatus, ippiFilterRow_64f_C1R, ( const Ipp64f* pSrc, int srcStep,
        Ipp64f* pDst, int dstStep, IppiSize dstRoiSize, const Ipp64f* pKernel,
        int kernelSize, int xAnchor ))

Were they deprecated?

 

 

 

Problem with FilterBilateralBorder

$
0
0

Hi,

I tried to use ippiFilterBilateralBorder_32f_C1R and got incorrect results.
Then I have run an example from the manual for ippiFilterBilateralBorder_8u_C1R (copy-paste) but have gotten different, incorrect results too (below).

 1   2   3 123 123 125  54  54
 3   4   5 128 130 130  61  62
 4   5   6 131 132 133  64  65
 6   6   6 132 133 133  66  66
 7   7   6 133 133 132  66  66
 7   6   5 133 132 131  66  65
 6   5   4 132 131 130  65  64

I am using IPP 8.1.0 under 64-bits Win 7 Pro SP-1 and MS Visual Studio Pro 2013.

Integrated Performance Primitives samples

$
0
0

Hi,

 

I've noticed that the speec-codec samples are no longer available with the latest version of the IPP libraries.

Are these samples still available? Or are they no longer supported with the 8.0+ versions?


Intel® Parallel Studio XE 2015 Update 3 Composer Edition for C++ Windows*

$
0
0

Intel® Parallel Studio XE 2015 Update 3 Composer Edition for C++ Windows* includes the latest Intel C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® C++ Compiler XE Version 15.0.3, Intel® Math Kernel Library (Intel® MKL) Version 11.2 Update 3, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2 Update 2, Intel® Threading Building Blocks (Intel® TBB) Version 4.3 Update 5, Intel® Debugger Extension for Intel® Many Integrated Core Architecture (Intel® MIC Architecture) Version 7.7-8.0

New in this release:

  • Intel® C++ Compiler 15.0.3
  • Intel® Math Kernel Library 11.2 Update 3
  • Intel® Integrated Performance Primitives 8.2 Update 2
  • Intel® Threading Building Blocks 4.3 Update 5
  • Corrections to reported problems

Note:  For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

Resources

Contents
File: w_ccompxe_online_2015.3.208.exe
Online installer

File: w_ccompxe_2015.3.208.exe
Product for developing 32-bit and 64-bit applications

File:  w_ccompxe_redist_msi_2015.3.208.zip
Redistributable Libraries for 32-bit and 64-bit msi files

File:  get-ipp-8.2-crypto-library.htm
Cryptography Library

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • C/C++
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE Composer Edition
  • URL
  • Intel® Parallel Studio XE 2015 Update 3 Composer Edition for Windows*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 3 Composer Edition for Windows* includes Intel's latest Fortran and C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® Visual Fortran Compiler 15.0.3, Intel® C++ Compiler XE Version 15.0.3, Intel® Math Kernel Library (Intel® MKL) Version 11.2 Update 3, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2 Update 2, Intel® Threading Building Blocks (Intel® TBB) Version 4.3 Update 5, Intel® Debugger Extension for Intel® Many Integrated Core Architecture (Intel® MIC Architecture) Version 7.7-8.0

    New in this release:

    • Intel® C++ Compiler 15.0.3
    • Intel® Visual Fortran Compiler 15.0.3
    • Intel® Math Kernel Library 11.2 Update 3
    • Intel® Integrated Performance Primitives 8.2 Update 2
    • Intel® Threading Building Blocks 4.3 Update 5
    • Corrections to reported problems

    Note:  For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File: w_compxe_online_2015.3.208.exe
    Online installer

    File: w_compxe_2015.3.208.exe
    Product for developing 32-bit and 64-bit applications (with Microsoft Visual Studio 2010 Shell & Libraries*, English version)

    File: w_compxe_all_jp_2015.3.208.exe
    Product for developing 32-bit and 64-bit applications (with Microsoft Visual Studio 2010 Shell & Libraries*, Japanese version)

    File:  w_ccompxe_redist_msi_2015.3.208.zip
    Redistributable Libraries for 32-bit and 64-bit msi files

    File:  w_fcompxe_redist_msi_2015.3.208.zip
    Redistributable Libraries for 32-bit and 64-bit msi files

    File:  get-ipp-8.2-crypto-library.htm
    Cryptography Library

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • C/C++
  • Fortran
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Visual Fortran Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE Composer Edition
  • URL
  • Is there a Matrix Set?

    $
    0
    0

    I'm looking at converting from a different library to Intel ones so I'm looking at function analogues.

    There are vector set functsions( ippsSet_???), but I was wondering if there was an analogue for matrices, preferable for complex data.

    Reference Manual for Intel® Integrated Performance Primitives 8.2 Update 1 (ZIP)

    Reference Manual for Intel® Integrated Performance Primitives 8.1 Update 1 (ZIP)

    Reference Manual for Intel® Integrated Performance Primitives 8.0 Update 1 (ZIP)

    Reference Manual for Intel® Integrated Performance Primitives 8.0 (ZIP)


    Cryptography for Intel® Integrated Performance Primitives 8.2 Update 1 Reference Manual (ZIP)

    Cryptography for Intel® Integrated Performance Primitives 8.1 Update 1 Reference Manual (ZIP)

    Cryptography for Intel® Integrated Performance Primitives 8.0 Update 1 Reference Manual (ZIP)

    Cryptography for Intel® Integrated Performance Primitives 8.0 Reference Manual (ZIP)

    Intel® Integrated Performance Primitives (Intel® IPP) 8.2 Update 2

    $
    0
    0

    Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of software functions to help you develop multimedia, data processing, and communications applications. Intel® IPP 8.2 Update 2 are now ready for download. Intel® IPP is available as part of Intel® Parallel Studio XEIntel® System Studio,  Intel® Integrated Native Developer Experience (Intel® INDE), Intel® Integrated Native Developer Experience 2015 Build Edition for OS X*

    What's New in Intel® IPP 8.2 Update 2

    • The release contains the corrections to reported problems, including the performance issue on ippiFilterBorder functions.
    • About 270 functions have removed the deprecation warnings based on the deprecation feedback. For more information please see Intel® IPP 8.2 deprecated function change.
    • A selective list of primitives are deprecated, including the functions for internal memory allocation. New alternative functions will be provided in the future release. Please visit Intel® IPP 8.2 deprecated function change to learn more information.
    • The ippiWarpGetBorderSize function is deprecated. Refer to the Intel® IPP Reference Manual to learn how to get the image border size for the image warping functions.

    Check out the Release Notes

     

    Contents

    Windows*:

    • File:  w_ipp_8.2.2.208_online.exe
        Online Installer for Windows*
    • File: w_ipp_8.2.2.208.exe
       A File containing the complete product installation for Windows (32-bit/x86-64bit development)

    Linux*:

    • File:  l_ipp_online_8.2.2.187.sh
        Online Installer for Linux*
    • File: l_ipp_8.2.2.187.tgz
      A File containing the complete product installation for Linux (32-bit/x86-64bit development)

    OS X*:

    • File: m_ipp_online_8.2.2.187.dmg
      Online Installer for OS X*
    • File: m_ipp_8.2.2.187.dmg
      A File containing the complete product installation.
  • IPP 8.2 update 2
  • Intel® Integrated Performance Primitives
  • URL
  • Viewing all 1040 articles
    Browse latest View live


    Latest Images

    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>