我正在为指纹毛孔实现匹配过滤器,但作为输出我得到了输入图像..但实际上我应该得到指纹图像的毛孔......我正在实现的等式...
这里Po是θ= 0弧度的孔模型,Ptheta是θ的任何值的孔模型。 西格玛是比例因子......这里是我的代码
for i1 = 1:40:240
for j1 = 1:40:320
t = floor(1/F(i1,j1));
sigma = floor(t/12);
i = -floor(3*sigma);
j = floor(3*sigma);
O = theta(i1,j1);
blk_im = im(i1:i1+40-1,j1:j1+40-1);
[x,y] = meshgrid(-(sigma):(sigma));
if O <= 0
P = exp((-j^2/2*sigma^2).*cos((pi/3*sigma)*i));
else
i_bar = x.*cos(O)-y.*sin(O);
j_bar = x.*sin(O)+y.*cos(O);
P = exp((-(j_bar.^2)/(2*sigma^2)).*cos((pi/3*sigma).*i_bar));
P_MAP(i1:i1+w-1,j1:j1+w-1) = conv2(blk_im,P,'same');
end
end;
end;
figure;
subplot(1,2,1);imshow(im,[]);title('input image');
subplot(1,2,2);imshow(P_MAP,[]);title('pore filter');
这里θ是以弧度表示的方向值,F是频率。 我的输出
为了获得正确的输出该怎么做...提前感谢