首页 > 其他分享 >m通过手动提取图像特征点实现医学图像配准和拼接matlab仿真

m通过手动提取图像特征点实现医学图像配准和拼接matlab仿真

时间:2023-04-20 23:15:04浏览次数:34  
标签:配准 变换 融合 特征 matlab 图像 方法

1.算法描述

       图像配准(image registration)是对同一场景在不同条件下得到的两幅或多幅图像进行对准、叠加的过程。同一场景的多幅图像会在分辨率、成像模式、灰度属性、位置(平移和旋转)、比例尺度、非线性变形及曝光时间等方面存在很多差异。概括来说,图像配准问题是以在变换空间中寻找一种特定的最优变换,达到使两幅或多幅图像在某种意义上的匹配为目的。  详细论述了这两种常用方法的特点及应用领域,并将基于特征的图像配准方法作为本文的研究重点。基于特征的图像配准方法是目前图像配准最常用的方法之一,特征提取的准确程度和定位的精确程度将对整个配准过程产生很大的影响。本文通过对现有的特征提取方法进行分析,完成图像配准。仿真结果表明该方法在保持配准精度的同时,能够稳定并快速地实现具有平移和旋转的图像的配准问题。最后,本文讨论了图像配准的一个重要应用领域―医学图像拼接。通过实验证明,本文提出的方法满足图像处理过程的实时性和准确性。

 

        医学图像配准和医学图像融合有着密切的关系,特别是对多模态图像而言,配准和融合是密不可分的。待融合的图像往往来自于不同的成像设备,它们的成像方位、角度和分辨率等因子都是不同的,所以这些图像中相应组织的位置、大小等都有差异,若事先不对融合图像进行空间上的对准,那么融合后的图像豪无意义。因此,图像配准是图像融合的先决条件,必须先进行配准变换,才能实现准确地融合。

 

        医学图像配准是医学图像处理的一项基本任务,它可以把来自不同模态或不同时间的多幅图像进行配准,然后为图像的后处理提供保证。如在医学图像融合中,需要将相对应的组织结构融合在一起,而待融合的图像往往来自于不同的成像设备,它们的成像方位、角度和分辨率等因子都是不同的,所以这些图像中相应组织的位置、大小等都有差异,必须先进行配准变换,才能实现准确地融合。医学图像配准的定义:同一个人从不同角度、不同位置拍摄的两张照片,由于拍摄条件不同,每张照片只反映某些方面的特征。要将这两张照片一起分析,就要将其中一张中的人像做移动和旋转,使它与另一幅对齐。这一对齐过程就是配准过程。保持不动的图像叫做参考图像,做变换的图像称为浮动图像。将配准后的图像进行融合就可以得到反映人的全貌的融合图像。医学图像配准就是寻求两幅图像间的几何变换关系,通过这一几何变换,使其中一幅医学图像(浮动图像F)与另外一幅医学图像(参考图像R)上的对应点达到空间上的一致。这种一致是指人体上的同一解剖点在两张匹配图像上具有相同的空间位置。配准的结果应使两幅图像上所有的解剖点,或至少是所有具有诊断意义的点及手术感兴趣的点都达到匹配。

 

 

 

       其中h表示二维空间坐标变换,g表示灰度或辐射变换,描述因传感器类型的不同或辐射变形所引入的图像变换。配准的目的就是要找出最佳的空间和几何变换参数。通常意义的配准只关心图像位置坐标的变换,灰度或辐射变换则可以归为图像预处理部分。各种图像配准技术都需要建立自己的变换模型,变换空间的选取与图像的变形特性有关,图像的几何变换可分成全局、局部两类,全局变换对整幅图像都有效,通常涉及矩阵代数,典型的变换运算有平移、旋转和缩放;局部变换有时又称为弹性映射,它允许变换参数存在对空间的依赖性。

 

       基于图像特征的方法是图像配准中最常见的方法,对于不同特性的图像,选择图像中容易提取并且能够在一定程度上代表待配准图像相似性的特征作为配准依据。基于特征的方法在图像配准方法中具有最强的适应性,而根据特征选择和特征匹配方法的不同所衍生出的具体配准方法也是最多种多样的。基于特征的方法作图像配准一般分为三个步骤:

 

(1)特征提取:根据图像性质提取适用于该图像配准的几何或灰度特征。

 

(2)特征匹配:根据特征匹配准则,寻找两幅待配准图像中对应的的特征,排除没有对应的特征。

 

(3)图像转换:根据所求得的图像转换参数,将其带入符合图像形变性质的图像转换式以最终配准两幅图像。

 

        在常用的图像特征信息中,点特征是最常用到的。最简单的配准方法即人工选取图像上一系列同名控制点对,带入多项式以得到图像的转换参数。人工选点的方法具有错误率低,灵活性高,适应性好的特点,但在大量数据处理的应用中要耗费巨大的人力。一般的自动点匹配算法利用图像的固有性质如角点、边缘、形状、封闭区域的重心等获得控制点,而同名控制点间的对应方法包括聚类法、松弛法、Hausdorff距离等。对这类点特征的配准方法,同名控制点匹配是其中的难点,以上方法对控制点的性质都有较苛刻的要求,因而应用范围也受到一定程度的限制。

 

2.仿真效果预览

matlab2022a仿真结果如下:

 

 

 

 

3.MATLAB核心程序

 

image1 = double(imread('a.jpg'));[h1 w1 d1] = size(image1);
image2 = double(imread('b.jpg'));[h2 w2 d2] = size(image2);
point_number=2;
% 图片显示
figure; subplot(1,2,1); image(image1/255); axis image; hold on;
[X1 Y1] = ginput2(point_number); %手动获得特征点
subplot(1,2,2); image(image2/255); axis image; hold on;
[X2 Y2] = ginput2(point_number); %手动获得特征点
 
%参数估计
Z  = [ X2'  Y2' ; Y2' -X2' ; 1 1 0 0  ; 0 0 1 1 ]';	 
xp = [ X1 ; Y1 ];
t  = Z \ xp; 
a  = t(1); 
b  = t(2); 
tx = t(3);
ty = t(4);
T = [a b tx ; -b a ty ; 0 0 1];
%计算大小
cp = T*[ 1 1 w2 w2 ; 1 h2 1 h2 ; 1 1 1 1 ]; 
Xpr = min( [ cp(1,:) 0 ] ) : max( [cp(1,:) w1] );
Ypr = min( [ cp(2,:) 0 ] ) : max( [cp(2,:) h1] );
[Xp,Yp] = ndgrid(Xpr,Ypr);
[wp hp] = size(Xp); 
%变化
X = T \ [ Xp(:) Yp(:) ones(wp*hp,1) ]'; 

 

  

 

标签:配准,变换,融合,特征,matlab,图像,方法
From: https://www.cnblogs.com/51matlab/p/17338680.html

相关文章

  • TransformMine图像表格化构建系统
    今日团队任务:图片转excel(5天)前端开发(需团队风格统一)调用接口(后端),json数据->excel前后端连接           任烁玚(进行中)            图片转html(8天)前端开发(需团队风格统一)图片转为pdf(存储)pdf转html(调用接口)[html存储到数据库]前后台数据同......
  • 【RDH隐藏】基于减少直方图移位中像素的无效移位的可逆数据隐藏附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Halcon图像的 BLOB 分析处理几何变换 &刚性仿射变换
    平移move_region缩放zoom_region镜像mirror_region倒置transpose_region6.2仿射变换刚性仿射变换vector_angle_to_rigid对图像,区域进行仿射变换算子:vector_angle_to_rigid(:: Row1, Column1, Angle1, Row2, Column2, Angle2 : HomMat2D)示例:vector_angle_......
  • Halcon图像的一维码二维码识别
    7.1识别一维码的流程和方法一维码的码制:一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等     识别过程:     创建条形码模型create_bar_code_model算子:create_bar_code_......
  • Python 图像处理实用指南:11~12
    原文:Hands-OnImageProcessingwithPython协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN计算机视觉译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。当别人说你没有底线的时候,你最好真的没有;当别人说你做过某些事的时候,你也最好真的做过。十一、深入学习图像处理——......
  • 通过fastaread读取DNA序列并进行检测matlab仿真
    1.算法描述fastareadfastaread函数是matlab生物信息学工具箱内置的一个函数,给我们的使用上带来了巨大的方便。对于基因DNA序列,转录RNA序列和表达蛋白序列的读取非常方便。使用语法为:p53nt=fastaread('p53nt.txt')%p53nt.txt为fasta格式存储序列的文件返回的p53nt......
  • m基于ID3决策树算法的能量管理系统matlab仿真
    1.算法描述       ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成的决策树能完美分类训练样例。    ......
  • OpenCV图像边缘检测(17)
    边缘(edge)是指图像局部强度变化最显著的部分。主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像强度的显著变化可分为:阶跃变化函数,即图像强度在不连续处的两边的像素灰度值有着显著的差异线条(屋顶)变化函......
  • Halcon图像中的字体设定 字体颜色设定 显示样式设定 信息显示
    图像中的字体设定set_display_font算子:set_display_font(:: WindowHandle, Size, Font, Bold, Slant :)示例:set_display_font(200000,24,'mono','true','false')200000(输入参数1):输入窗口句柄24(输入参数2):输入字体大小'mono'(输入参数3):输入字体类型'......
  • 图像分割相关算子
      图像分割介绍,先定位一个大的特征->内部特征->分割灰度直方图:如下图所示阈值分割:  threshold全局固定阈值分割算子:threshold(Image : Region : MinGray, MaxGray :)     示例:threshold(GrayImage,Regions,141,214)              ......