Finding correlation between two images
이전 댓글 표시
Suppose I want to perform correlation between two images. I know there is a function normxcorr2 which can be used to find the correlation between two images (img1, img2) like this
When I run the imfilter command and use the imshow() command to output the resulting image, I can see that it is different from what I get when I output the resulting image using normxcorr2 command.The image generated through normxcorr2 looks more like what i would expect from the correlation of the two images. What's the difference between these two methods?
C = normxcorr2(img1, img2)
But can I find the correlation using imfilter? Does this command perform correlation?
corr = imfilter(img1, img2, 'corr','replicate');
When I run the imfilter command and use the imshow() command to output the resulting image, I can see that it is different from what I get when I output the resulting image using normxcorr2 command.
imshow(C);
figure
imshow(corr);
The image generated through normxcorr2 looks more like what i would expect from the correlation of the two images. What's the difference between these two methods? Is using imfilter even logical?
댓글 수: 2
Bjorn Gustavsson
2021년 9월 24일
Have you looked in the documentation how normxcorr2 normalizes the x-correlation values for the different shifts, it seems a "natural" guess that it properly scales with the number of samples, while imfilter might "not bother with that" since its purpose is mainly to filter images.
Mohammad Saquib Khan
2021년 9월 24일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Image Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!