Matlab program for Correlation between two images

23 views (last 30 days)
  1. Original image
2. Rotated image of the original image
How to find the matlab program for correlating these above two images by using matlab correlation.

Answers (1)

Asvin Kumar
Asvin Kumar on 24 Jun 2021
It’s not entirely clear what you mean by correlation. If you’re looking to compute the cross-correlation between two images, you can use xcorr2. If you need the normalized cross-correlation, you can use normxcorr2.
If you want to align two images, you can check out the available Image Registration solutions.
If you want to measure how similar two different images are, some knowledge about the kinds of images will help. You can extract features from both the images and match them. The Computer Vision Toolbox (CVT) offers many functions for each step of the pipeline. Have a look at: Feature Extraction and Detection. The information on the Local Feature Detection and Extraction page can further help you choose among the many available feature detectors. Here’s an example which shows the available functions in action: Find Image Rotation and Scale Using Automated Feature Matching
The xcorr2 and normxcorr2 functions mentioned earlier would not perform well with images that have undergone scaling, rotation and other geometric transformations. Some of the feature extractors available in the CVT are robust to that.
If you’re looking for image quality metrics, those are available on this page: Image Quality.
The Image Processing Toolbox and the Computer Vision Toolbox offer many useful tools. Deciding what’s best depends on your use case.

Community Treasure Hunt

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

Start Hunting!