File Exchange

image thumbnail

Image Stitching using correlation

version (1.55 KB) by Paresh Kamble
This code does the task of basic image stitching using correlation technique.


Updated 18 Mar 2013

View License

This matlab code reads two images and stitches them. The image registration method is done using correlation technique. A small patch of second image is taken as a mask. This mask correlates with the same size image pixels of the first image. The mask shifts and correlates. The point where the correlation is maximum (close to 1) is taken as optimum point. The point is used for stitching the second image over the first.

Cite As

Paresh Kamble (2020). Image Stitching using correlation (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (16)


reham elnabawy

index out of bounds exception error at line
Opimg(i,k) = S(i,k-Index+1);%Second image is pasted after Index.
can you correct it to me please?

jyoti patel

please paresh sir, i want the entire code for image mosaicing of two images using phase correlation so that i can compare with the stitching using SURF feature detection... I need it urgently please explain it and mail me

Paresh Kamble

Hello Trisha,
Send me a test mail on

trisha agarwal

it is for colored to gray i want colored to colored

Paresh Kamble

Hello Trisha,
You may find my code for three image stitching using correlation by clicking on the link of 'Acknowledgements' in 'File information' block in this page itself.

trisha agarwal

i want code for three image stitching using correlation..

Jatin Patel


Thilina's blog is using phase-correlation though, not cross-correlation!

Paresh Kamble

Hello Ramiro,
I totally agree with your thought. The code was just a basic work which would show how 2 images are stitched when displaced in X direction. If you want to study a matlab code where images are displaced in both directions then you may refer to Thilina's Blog. I am providing the link below:
He has done wonderful work. Thanks for your inputs.

Ramiro Massol

hi Paresh
there's a major problem of your method of image stitching. If the second image is displaced not only in the X direction but also in the Y direction, then the assumption of using the maximal correlation coefficient to obtain the displacement will fail. Images to be stitched are normally displaced in both X and Y directions so it will be quite hard to use your code reliably.


Thanks, Can you explain briefly the method of Maximising image similarity using cross-correlation method please, or if you have got a useful source that explains it properly. I couldn't find good explaination online!
Thanks again

Paresh Kamble

Dear Omar,
Thanks! I havnt yet tried for stitching 3 images. But I promise to upload the same with proper explanation in a few days.


thanks that was helpful!
how would you go about stiching 3 images instead of 2?

Paresh Kamble

Dear Evren Sezgin,
I guess you havn't understood that the images i have used are purely in .jpg format. Why would one need rar images to do image stitching? Is your problem statement of some different kind? Kindly reply.

Evren sezgin

thiscode isn't working because this image is not in rar file.

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Basic Three Image Stitching Code