matching template with image
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I = imread('man.bmp'); % Load initial figure
a = imcrop(I,[50 40 150 100]);
m=imrotate(a,180);
%(Convolution is equivalent to correlation if you rotate the convolution kernel by 180.) To match the template to the image, use the fft2 and ifft2 functions.
C = real(ifft2(fft2(I).* fft2(m(a,2),256,256)));
I'm getting this error: ??? Subscript indices must either be real positive integers or logicals.
how to fix it ????
0 Kommentare
Antworten (2)
Walter Roberson
am 16 Jun. 2012
You are trying to index your rotated image at your cropped image -- m(a,2)
I do not know what you intend that to mean.
5 Kommentare
Image Analyst
am 16 Jun. 2012
"a" is a matrix. So is "m" - in fact it is the rotated version of "a". So you cannot do m(a,2). The first index must be an integer number or array or a logical value or array. You cannot have a 2D or 3D matrix (an image) for an index. I haven't replied to anyone in the past 8 days because I was way out in the wilderness. I don't work for Mathworks, by the way.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!