Cross-Correlation between 2 images

11 views (last 30 days)
Ramo
Ramo on 8 Mar 2014
Edited: Ramo on 9 Mar 2014
How to select a random POINT on one image than find its corresponding POINT on the other image using cross correlation?
So basically I have image1, I want to select a point on it (automaticaly) then find its corresponding/similar point on image2.
Thanks,

Accepted Answer

Image Analyst
Image Analyst on 8 Mar 2014
You can't do it for a point. Let's say the point in image1 has a value of 100. Well there are lots of points in image2 that might have that value. So you need to look at either the whole image or a window/patch. To look at the whole image and align the two, use imregister(). To look at just a small part of image1 (a template) and find it in image2, use normalized corss correlation, as illustrated in my attached demo.
  12 Comments
Image Analyst
Image Analyst on 8 Mar 2014
When you correlate, the output image is larger. So coordinates are not the same. If you want, you can crop out the central part that is the same size as the large image. If you crop it out correctly (watch out because it may be off a pixel or so depending on exactly where you crop and if the image size is even or odd), then the coordinates should be the same.
Ramo
Ramo on 9 Mar 2014
Edited: Ramo on 9 Mar 2014
the image is 1728by2304, template 1251by955 and C_1 is 2978by3258

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!