Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Correlation of two images using IPP

sribug
Beginner
414 Views

Hi,
I am new to IPP library and c++, I am working on a small task where I need to input the source image and the template image path to the application, and the application should display the offset of the source wrt to the template image.
I am aware I need to use the ippiCrossCorr functions. But I am not sure how to get the parameters for the function
Please can somebody help me on this.

Thanks in Advance!

Sribug

0 Kudos
4 Replies
PaulF_IntelCorp
Employee
414 Views
Hello Sribug,

Sounds like you're having some issues regarding the C/C++ programming languages. My suspicion is the pointers are your problem. Do a search for something like "c language pointer tutorial" as a starting point. Pointers to arrays (aka vectors) are a significant input and output element for many of the IPP functions, and it is important to understand how your elements are laid out in memory and how you address them.

This sort of tutorial is beyond the scope of this forum and the IPP documentation.

Regards,

Paul
0 Kudos
sribug
Beginner
414 Views

Paul,
Thanks for the reply. I think I conveyed the message little differently. I am aware of the pointer concepts in c/c++.. and I have working on it for quite sometime. I am new to using IPP and needed a little help on that.
As I need to correlate a sub image with the template image and find the offset of the sub image wrt the template image. The images are in tiff format.

I used a open source which would read the properties of a tiff image and copied into the image buffer.
I passed the image buffer and bytesteps of both the images to ippiCrossCorrFull_Norm_8u_C1RSfs.
The correlation returned no error.

Now, I need to find the offset of the subimage wrt to the template image. How do I go forward from here with the Destination image where the correlation values are stored.
Please help.
Thanks in Advance

0 Kudos
matthieu_darbois
New Contributor III
414 Views
Hi,

You should use the ippiMaxIndx_* function to get the maximum value position within the cross correlation image.

I didn't check if it's necessary to add border values to ths x and y position returned by the function.

Regards,
Matthieu
0 Kudos
sribug
Beginner
414 Views
Thanks a lot Matthieu, this was of good help.

Another task I have now is to find two unique correlatable areas in the image, given the width and height of the unique area.

At this moment the approach I am thinking about for this algorithm is:
Divide the search area into the areas of size given by the user(width and height). Then correlate each area with the others in the search area. The one with the least correation can be the unique area for that image.

It is just a rough idea I have, Can someone help me with some suggestions and approaches.

Thanks in Advance

0 Kudos
Reply