How to stitch overlapping images correctly?

11 visualizaciones (últimos 30 días)
Sreerup Banerjee
Sreerup Banerjee el 3 de Oct. de 2017
Comentada: Sreerup Banerjee el 5 de Oct. de 2017
I intend to stitch several overlapping images, I have started with two of them. The functions imregconfig and imregister seem to rotate the image perfectly. But still a bit of translation is needed to get a correct image registration. I have attached results before and after image registration. How can it be achieved so that I get a stitched image?
Here is the relevant portion of the code:
im1=im1(1:2:end,1:2:end,:); im2=im2(1:2:end,1:2:end,:);
grayImage1 = rgb2gray(im1); grayImage2 = rgb2gray(im2);
grayImage1 = medfilt2(grayImage1,[3 3]); grayImage2 = medfilt2(grayImage2,[3 3]);
[optimizer, metric] = imregconfig('monomodal');
grayImage2= imregister(grayImage2,grayImage1,'affine',optimizer,metric);
figure; imshowpair(im1,im2,'blend')
figure, imshowpair(grayImage1,grayImage2,'blend');

Respuestas (1)

Image Analyst
Image Analyst el 3 de Oct. de 2017
  1 comentario
Sreerup Banerjee
Sreerup Banerjee el 5 de Oct. de 2017
Hi! Many thanks for the answer. Does it mean that imregister should only be used when the overlap between two images are considerable?
In the first link you have provided, it requires mouse click to select point on the images. As the final algorithm will involve nearly 500 images, so the image registration has to be automatic.
I have tried the second algorithm earlier. It gives warning "Matrix is close to singular or badly scaled. Results may be inaccurate." and indeed the results are inaccurate.

Iniciar sesión para comentar.

Categorías

Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by