I have been using the ippiCrossCorrValid_NormLevel_8u32f_C3R(...) function in v6.1 x86 for a long time.
Now I must migrate to x64, and looked at ippi_2017.1.143. I realized that this function is no longer available :-(
Is there any way to achieve the same functionality, using the functions available in ippi_2017.1.143?
Is it possible to download a x64 version of v6.1 (is 6.1 available for download anywhere)?
Thanks for your kind support,
You could refer the ippiCrossCorrNorm function, we integrated three formulas with cross-corr, norm cross-corr & norm cross-corr coeff. Use CrossCorrNormGetBufferSize to collect work buffer size and then compute the cross correlation algorithm. Here's the example in developer guide. What you need to modify is changing dst size ((Ws -Wt + 1) * (Hs -Ht +1)) and roi size. Set algType as ippAlgAuto|ippiROIValid|ippiNormCoefficient. The result should be as your expecting. Thanks.
This threw some light on the problem.
I see, that for the ippiCrossCorrNorm, the supported values for mod: 32f_C1R, 8u32f_C1R, 16u32f_C1R
So, it still not completely clear to me how this will work as correlation for a three channel RGB image.
Do you have any hint on how to make the ippiCrossCorrNorm work like the ippiCrossCorrValid_NormLevel_8u32f_C3R(...), correlating it channel by channel?
Thank you for your swift help.
Best, Niels M
Please refer appendix of removed function in developer guide, you could use copy function transfer 3 channel to 1 channel, and the use ippiCrossCorrNorm function. Thanks.
Just one more question – have looked in the manual without luck – how does this ippiCopy_8u_C3C1R work?
I understand that it copies 3 channels into one channel, but is it a simple sum (then how about overflow?), or a some 'smarter' copy?
Investigation a little further, I found per other posts (and please correct me if I am wrong) that IPP is no longer available as a standalone product. This means I must buy one of the suites. The most cost efficient would be Intel® Parallel Studio XE with a price of around $700
I want to make sure that it is possible to download IPP 6.1 or 7.x with x64 support when I buy a new license.
I would appreciate it if you clarify any misunderstanding from my side, and if you could advise if the above is the most suitable approach for my case.
Thanks for your swift support,
The ippiCopy_8u_C3C1R copys the first channel of source data. You could use following code to copy separated R, G, B channel to calculate:
//copy R status=ippiCopy_8u_C3C1R(psrc, srcstep, pdst, dststep, roiSize); //copy G status=ippiCopy_8u_C3C1R(psrc+1, srcstep, pdst, dststep, roiSize); //copy B status=ippiCopy_8u_C3C1R(psrc+2, srcstep, pdst, dststep, roiSize);
Or you could use 8u_C3P3R to realize splitting color image into separate planes. Please learn more info from this link.
IPP could be accessed as standalone product by free license. You could download all available version of IPP from register center by searching "Intel® Integrated Performance Primitives for <Windows*| Linux* | OS X*>". Intel Premier support packaged most of Intel performance libraries and analysis tools and Intel compiler. If you have one license for IPS, it would affect your usage with other version of IPP. For instance if you installed IPS 2017, the IPP 2017 will be integrated to install by default. But you could also download IPP 9.0 to use. Please refer Getting start with IPP and IPP developer guide to learn detailed info.
I checked function by function - and I use quite many discontinued functions.
Is there any way to download a IPP 6.1 x64 ??
Thank you for your patience with this.
This is good news!
However, when I try this, I don't get all the options you see - I get only 2017 and 2017.1
Maybe it has to do with the way I registered?
It is possible you may could only get the latest version of IPP that if you have a noncommercial license for free product. The Parallel Studio XE licenses do enable the older version downloads. If you have any unexpired license for IPS or ISS, you could follow this article to access older version.