您现在的位置:首页 >> 图像处理 >> 内容

基于互信息和归一化互信息的医学图像配准算法matlab仿真

时间:2023/2/5 21:26:07 点击:

  核心提示:A342,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56bmJhp

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

       信息论中将互信息定义为信息之间的关系,可以表示为两个随机变量之间统计相关性的度量,由此可以得出图像互信息的计算方法。作为图像多模态配准中的度量,图像互信息利用对图像灰度值的统计数据形成单个图像的灰度值概率函数和两个图像相似部分对应的灰度值联合概率函数,以此来衡量两幅图像的相关程度。在图像配准的过程中,认为两幅图像的相关性最大时对应的互信息也最大。基于互信息的图像配准最早在1995年被用于医学图像配准中,此后研究人员对于互信息的配准方法做了大量研究。

4.部分源码

......................................................

for x = wzx1-rfield+wzx2:step:wzx1+rfield+wzx2 % 浮动图像相对参考图像平移+-rfield像素

    l = 1;

    if x <= mr

        for y = wzy1-rfield+wzy2:step:wzy1+rfield+wzy2

            if y <= nr

                Im_F = image2(mf-x+1:mf,nf-y+1:nf);

                Im_R = image1(1:x,1:y);

            else

                Im_F = image2(mf-x+1:mf,1:nf+nr+1-y);

                Im_R = image1(1:x,y-nf+1:nr);

            end

            if method == 'MI'

                MeV(k,l) = mi(Im_R,Im_F,Mi_method);

                l = l+1;

            end

        end

    else

        for y = wzy1-rfield+wzy2:step:wzy1+rfield+wzy2

            if y <= nr

                Im_F = image2(1:mf+mr+1-x,nf-y+1:nf);

                Im_R = image1(x-mf+1:mr,1:y);

            else

                Im_F = image2(1:mf+mr+1-x,1:nf+nr+1-y);

                Im_R = image1(x-mf+1:mr,y-nf+1:nr);

            end

            if method == 'MI'

                MeV(k,l) = mi(Im_R,Im_F,Mi_method);

                l = l+1;

            end

        end

    end

    k = k+1;

end

....................................................

figure

mesh(x,y,MeV);

title('测度曲线');

[Maxm,ind] = max(MeV(:));

[X,Y] = ind2sub(size(MeV),ind);

X = (X-1)*step;Y = (Y-1)*step; % 平移像素个数

 

% 模板图像分别沿x,y轴平移(X-1)*step,(Y-1)*step像素点后与参考图像配准

% 此时,浮动图像中心位于参考图像坐标系(wzx1-rfield+(X-1)*step,wzy1-rfield+(Y-1)*step)处

H.Position = [132 258 260 260];

figure(H)

imagesc(image2)

title('原始浮动图像');

colormap(gray)

H.Position = [402 258 260 260];

figure(H)

imagesc(image1)

title('原始参考图像')

colormap(gray)

h1 = get(gca,'Position');

x = h1(1);y = h1(2);w = h1(3);h  = h1(4);

X1 = wzx1-rfield+X;Y1 = wzy1-rfield+Y;

H.Position = [672 258 260 260];

figure(H)

axes('Position',[w/mr*(X1-(mf-1)/2)+x,h/nr*(Y1-(nf-1)/2)+y,w/mr*mf,h/nr*nf]);

imagesc(image2)

title('配准图像')

colormap (gray)

a342

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168