[cv] filters as templates-normxcorr2(template,img)

xiaoxiao2021-02-28  65

introduction

images are not just functions (intensity). it also contains location properties.

1D correlation

the filter is normalized and then is used to compute cross -correlation. why the peak value is at index 60? because positve value in signal [50,70] multiply positive value in filter, and negative value in signal [50,70] multiply negative value in filter. At last, we sum them up.

cross-correlation in matlab

%% matlab cross-correlation fruit = rgb2gray(imread('../pics/fruit.png')); apple = rgb2gray(imread('../pics/apple.png')); % imshowpair(fruit,apple, 'montage'); c = normxcorr2(apple, fruit); figure; surf(c); shading flat;

% Find template 1D % Function definition must be the very first piece of code here! function index = find_template_1D(t, s) c = normxcorr2(t,s); [~,index] = max(c); index = index -size(t,2) + 1; end pkg load image; % after define function % Test code: s = [-1 0 0 1 1 1 0 -1 -1 0 1 0 0 -1]; t = [1 1 0]; disp('Signal:'), disp([1:size(s, 2); s]); disp('Template:'), disp([1:size(t, 2); t]); index = find_template_1D(t, s); disp('Index:'), disp(index);

template matching

% Find template 2D % NOTE: Function definition must be the very first piece of code here! function [yIndex xIndex] = find_template_2D(template, img) % TODO: Find template in img and return [y x] location % NOTE: Turn off all output from inside the function before submitting! c = normxcorr2(template, img); [~,idx] = max(c(:)); [yIndex, xIndex] = ind2sub(size(c), idx); xIndex = xIndex - size(template,2) + 1; yIndex = yIndex - size(template,1) + 1; endfunction pkg load image; % AFTER function definition % Test code: tablet = imread('tablet.png'); imshow(tablet); glyph = tablet(75:165, 150:185); imshow(glyph); [y x] = find_template_2D(glyph, tablet); % y row number % x column number disp([y x]); % should be the top-left corner of template in tablet colormap('gray'),imagesc(tablet); hold on; plot(x,y,'r+','markersize',16); hold on;

but we have more powerful tools to detection face.

转载请注明原文地址: https://www.6miu.com/read-41118.html

最新回复(0)