how to find coordinate of a puzzle piece?

1 visualizzazione (ultimi 30 giorni)
I try to determine the coordinates of a puzzle piece on the original image using the normxcorr2 function. Then I draw a rectangle on the correspondence of the two elements. Unfortunately, I notice that the coordinates that this match has given me are not good. Could someone have an idea how to improve the use of this feature and get some better results.
The puzzle piece has the name "cpiece" and the original picture has the name "bild"
cpiece = im2gray(imread('cpiece1.jpg'));
bild = im2gray(imread('original.jpg'));
montage({bild,cpiece})
c = normxcorr2(cpiece,bild);
surf(c)
shading flat
[ypeak,xpeak] = find(c==max(c(:)));
yoffSet = ypeak-size(cpiece,1);
xoffSet = xpeak-size(cpiece,2);
imshow(bild)
drawrectangle(gca,'Position',[xoffSet,yoffSet,size(cpiece,2),size(cpiece,1)],'FaceAlpha',0);

Risposte (1)

Image Analyst
Image Analyst il 16 Gen 2021
See my demo and try to adapt it.
  1 Commento
Tiodong Nongni Gilles Patrick
I saw your demo and it is not very different from my code. The important part with normxcross fonction, max fonction and calculating of the offset value are the same. that is why I got the same result. the coordinate that the match give, are still not correct.

Accedi per commentare.

Categorie

Scopri di più su Filter Banks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by