我要加入 登录
声振论坛 返回首页

happy的个人空间 http://home.vibunion.com/?1691 [收藏] [复制] [分享] [RSS]

日志

实现了两幅指纹图像的拼接

已有 1744 次阅读2007-3-12 01:45 |个人分类:小小程序

% clear all;
% tic
% I=imread('finger.jpg');
% I=I(:,:,1);
% % I1=im2double(I(1:128,1:128));
% % I2=im2double(I(31:158,31:158));
% I1=I(1:128,1:128);
% I2=I(51:178,51:178);
% F1=fft2(I1);
% F2=fft2(I2);
% F2=conj(F2);
% F=ifft2(F1.*F2/norm(F1.*F2));
% F=abs(F);
% F_max=max(max(F));
% [m,n]=find(F==F_max)
% figure,mesh(1:128,1:128,abs(F))
% toc

clear all;
tic
I1=imread('fingerprint1.bmp');
I2=imread('fingerprint2.bmp');
I3=I1(131:258,151:278);
I4=I2(134:261,201:328);
F1=fft2(I3);
F2=fft2(I4);
F2=conj(F2);
F=ifft2(F1.*F2/norm(F1.*F2));
F=abs(F);
F_max=max(max(F));
[m,n]=find(F==F_max)
% figure,mesh(abs(F))

[Height,Width]=size(I3);
mos_Height=Height+m-1;
mos_Width=Width+n-1;

A=uint8(255*ones(mos_Height,mos_Width));

for i=1:mos_Height
    if i<m
        for j=1:Width
            A(i,j)=I3(i,j);
        end
    elseif i>m-1&i<Height+1
        for j=1:mos_Width
            if j<n
                A(i,j)=I3(i,j);
            else
                A(i,j)=I4(i-m+1,j-n+1);
            end
        end
    else
        for j=n:mos_Width
            A(i,j)=I4(i-m+1,j-n+1);
        end
    end
end
imshow(A)
           
toc

发表评论 评论 (3 个评论)

flicker 彩虹炫 | flicker 匿名卡 | gulf 2007-3-16 22:07
我在做matlab 图像拼接 把俩相关图片拼接成一幅 这个程序可以吗?
flicker 彩虹炫 | flicker 匿名卡 | gulf 2007-3-16 22:08
我在做matlab 图像拼接 把俩相关图片拼接成一幅 这个程序可以吗?
flicker 彩虹炫 | flicker 匿名卡 | Guest 2007-4-6 20:05
能不能给稍微解释以下呀,我也是要做拼接

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-1 05:19 , Processed in 0.048176 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部