close all;
clc;
clear;
%Iu = imread('U0V0.bmp彩色TO灰度.jpg');
%Id = imread('U10V10.BMP彩色TO灰度.jpg');
Iu = imread('平移前的图2.png');
Id = imread('平移后的图2.png');
[m,n]=size(Iu);
%取H为以Iu中心为中心的41×41矩阵
H=Iu(m/2-20:m/2+20,n/2-20:n/2+20);
tt=0;
for i =21:m-21
for j =21:n-21
J=Id(i-20:i+20,j-20:j+20);
%求矩阵H和J的相似度系数
R= corr2(H,J);
%如果相关系数大于0,则搜索窗口高h1=i,长l1=j
if R>tt
tt=R;
h1=i;
l1=j;
end
end
end
%像素级坐标X,Y
%meshgrid生成和H一样大小的网格矩阵,矩阵X和Y的大小为41×41
[X,Y] = meshgrid(m/2-20:m/2+20,n/2-20:n/2+20);
Pos=[X(:), Y(:)];
%生成41×41全零矩阵
E=zeros(41,41);
[Count, Width] = size(Pos);
D= zeros(Count,4);
tic
for k =1: Count
C=E;
max=0;
A=Iu(Pos(k,1)-20:Pos(k,1)+20,Pos(k,2)-20:Pos(k,2)+20);
for i = Pos(k,1)+h1-m/2-1 : Pos(k,1)+h1-m/2+1
for j = Pos(k,2)+l1-n/2-1 : Pos(k,2)+l1-n/2+1
B=Id(i-20:i+20,j-20:j+20);
R= corr2(A,B);
C(i,j) = R;
if R>max
max=R;
h=i;
l=j;
end
end
end
Id=double(Id);
[a,xx,yy]=fit2(x,y,z,n,m,p,q);
%[subx,suby]=subpixel(h,l,C);
D(k,:)=[Pos(k,1),Pos(k,2),suby-Pos(k,2),subx-Pos(k,1)];
%disp([Pos(k,1),Pos(k,2),suby-Pos(k,2),subx-Pos(k,1)]);
end
toc
没有合适的资源?快使用搜索试试~ 我知道了~
speckle.rar
共10个文件
jpg:6个
m:2个
png:2个
需积分: 9 2 下载量 186 浏览量
2020-03-31
22:29:50
上传
评论
收藏 144KB RAR 举报
温馨提示
文件内容有SANBAN.m,subpixel.m两个代码,SANBAN.m是一个function函数,用于计算位移前后两幅图像的亚像素位移值,subpixel.m是运用上述function函数得出输入的两幅图像的位移。还有一些散斑图像,散斑图像有三组位移前后可供参考。
资源推荐
资源详情
资源评论
收起资源包目录
speckle.rar (10个子文件)
用相关搜索法和曲面拟合算法计算图像的位移,精确到亚像素级。
speckle
x0y0.bmp彩色TO灰度.jpg 15KB
平移后的模拟散斑图2.png 27KB
x1y0.BMP彩色TO灰度.jpg 16KB
x0y1.BMP彩色TO灰度.jpg 16KB
x11y11.BMP彩色TO灰度.jpg 16KB
subpixel.m 1KB
SANBAN.m 2KB
x17y5.BMP彩色TO灰度.jpg 16KB
x3y19.BMP彩色TO灰度.jpg 16KB
平移前的模拟散斑图2.png 16KB
共 10 条
- 1
资源评论
ImHDB
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功