✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,
代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
🔥 内容介绍
图像配准是遥感图像处理中非常重要的一环,它可以帮助我们将不同时间、不同角度或不同传感器获取的遥感图像进行精确的配准,从而实现图像的融合和比较分析。在本文中,我们将介绍基于Harris角点特征提取结合NCC(归一化互相关)算法实现遥感图像配准融合的算法流程。
Harris角点特征提取是一种常用的图像特征点提取方法,它可以帮助我们在图像中找到角点,这些角点通常是图像中的显著特征点,对于图像配准非常有用。接着,我们将介绍如何利用Harris角点特征提取方法在遥感图像中提取特征点,并对其进行描述和匹配。
在特征点匹配之后,我们将介绍NCC算法,即归一化互相关算法。NCC算法是一种常用的相似性度量方法,它可以帮助我们衡量两幅图像之间的相似程度,并且在图像配准中有着广泛的应用。我们将详细介绍NCC算法的原理和实现步骤,以及如何将其应用于遥感图像配准中。
最后,我们将结合Harris角点特征提取和NCC算法,设计并实现遥感图像配准融合的算法流程。我们将详细介绍算法的每个步骤,包括特征点提取、描述和匹配,以及相似性度量和图像配准的实现方法。通过本文的介绍,读者将能够了解到如何利用Harris角点特征提取结合NCC算法实现遥感图像配准融合,从而为遥感图像处理提供一种有效的方法。
首先进行Harris角点特征提取,而后利用NCC算法进行粗匹配,剔除误匹配和不匹配向量,基于灰度相关系数,计算配准误差, 从而得到配准后叠加图像。适用于输入图像存在平移变换和旋转变换;能够实现可见光区图像配准,可实现时间间隔不是很久的多时相遥感影像配准
总之,本文介绍了基于Harris角点特征提取结合NCC算法实现遥感图像配准融合的算法流程。通过本文的学习,读者将能够掌握图像配准的基本原理和方法,从而为遥感图像处理和分析提供有力的支持。希望本文能够对读者在遥感图像处理领域的学习和研究有所帮助。
📣 部分代码
%% 手动选点完成多源图像配准
% 输入:参考图像及浮动图像
% 过程:选择控制点,将控制点输出变量至当前工作区间,利用仿射变换模型完成配准
% 输出:配准后图像
% write by Sifan Wu
close all;clear;clc;
I1=(imread('数据\1\ZY(主).png'));
I2=rgb2gray(imread('数据\1\Sar(从).png'));
[reference_a,reference_b,reference_c]=size(I1);
[input_a,input_b,input_c]=size(I2);
cpselect(I1,I2);
uiwait(msgbox('Click OK after closing the CPSELECT window.','Waiting...')); % 选择控制点并输出变量至当前工作区间
m=base_points(:,1); % 参考图像
n=base_points(:,2);
u=input_points(:,1); % 待配准图像
v=input_points(:,2);
f=zeros(reference_a,reference_b);
x(:,2)=n;x(:,3)=m;x(:,4)=m.*n;x(:,5)=n.^2;x(:,6)=m.^2; % 计算仿射变换模型参数及配准均方根误差(以像元计)
[k,l]=size(n);x(:,1)=zeros(k,1);
for i=1:k
x(i,1)=1;
end
y=[v,u];AB=x\y;A=AB(:,1);B=AB(:,2);
mymse=0;
len=size(m,1);
for i=1:len
n2(i)=A(1)+n(i)*A(2)+A(3)*m(i)+A(4)*n(i)*m(i)+A(5)*n(i)^2+A(6)*m(i)^2;
m2(i)=B(1)+n(i)*B(2)+B(3)*m(i)+B(4)*n(i)*m(i)+B(5)*n(i)^2+B(6)*m(i)^2;
mymse=(n2(i)-v(i))^2+(m2(i)-u(i))^2+mymse; % 计算均方误差
end
RMSE=sqrt(mymse/len);
for i = 1:reference_a
for j=1:reference_b % 图像变换
h(i,j)=A(1)+i*A(2)+A(3)*j+A(4)*i*j+A(5)*i^2+A(6)*j^2;
l(i,j)=B(1)+i*B(2)+B(3)*j+B(4)*i*j+B(5)*i^2+B(6)*j^2;
hh(i,j)=round(h(i,j)); ll(i,j)=round(l(i,j)); % 类似最近邻重采样
if hh(i,j)>0&ll(i,j)>0&hh(i,j)<=input_a&ll(i,j)<=input_b % 保证变换不出界
f(i,j)=I2(hh(i,j),ll(i,j));
else
f(i,j)=0;
end
end
end
g=uint8(f);imshow(g) %输出配准图像
⛳️ 运行结果
🔗 参考文献
[1] 刘相滨,邹北骥.一种基于RANSAC的柱面图像配准算法[J].湖南大学学报:自然科学版, 2010, 37(8):4.DOI:CNKI:SUN:HNDX.0.2010-08-017.
[2] 葛盼盼,陈强,顾一禾.基于Harris角点和SURF特征的遥感图像匹配算法[J].计算机应用研究, 2014, 31(7):4.DOI:10.3969/j.issn.1001-3695.2014.07.069.