出处: Qu Xiao-Bo <qxb_xmu [at] yahoo.com.cn> Aug.28,2008
先上代码,依然来自屈小波教授:

A=imread('1.jpg');
B=imread('2.jpg');
im=imread('1.jpg');
im1=imread('2.jpg');
im=double(im);
im1=double(im1);
[p,q]=size(im);
link_arrange=5;
np=20;F_NA=Normalized(im);
F_NB=Normalized(im1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
alpha_L=1;
alpha_Theta=2.0;
alpha_F=0.1;
beta=0; vF=0.5;
vL=0.2;
vTheta=20;
L1=zeros(p,q);
L2=zeros(p,q);
U1=zeros(p,q);
U2=zeros(p,q);
Y1=zeros(p,q);
Y2=zeros(p,q);
F1=Y1;
F2=Y1;
Y0=zeros(p,q);
Y01=zeros(p,q);
R=zeros(p,q);
Theta1=zeros(p,q);
Theta2=zeros(p,q);% Compute the linking strength.
center_x=round(link_arrange/2);
center_y=round(link_arrange/2);
W=zeros(link_arrange,link_arrange);
for i=1:link_arrangefor j=1:link_arrangeif (i==center_x)&&(j==center_y)W(i,j)=0;elseW(i,j)=1./sqrt((i-center_x).^2+(j-center_y).^2);endend
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I1=F_NA;
I2=F_NB;
for n=1:np[a,b]=size(W);for i=1:pfor j=1:qfor c=1:afor d=1:bbeta=beta+[im(c,d)-im(c+1,d)].^2+[im(c,d)-im(c,d+1)].^2;endendK1(i,j)=conv2(Y1(i,j),W,'same');K2(i,j)=conv2(Y2(i,j),W,'same');F1(i,j)=exp(-alpha_F)*F1(i,j)+vF*K1(i,j)+I1(i,j);F2(i,j)=exp(-alpha_F)*F2(i,j)+vF*K2(i,j)+I2(i,j);L1(i,j)=exp(-alpha_L)*L1(i,j)+vL*K1(i,j);L2(i,j)=exp(-alpha_L)*L2(i,j)+vL*K2(i,j);Theta1(i,j)=exp(-alpha_Theta)*Theta1(i,j)+vTheta*Y1(i,j);Theta2(i,j)=exp(-alpha_Theta)*Theta2(i,j)+vTheta*Y2(i,j);U1(i,j)=F1(i,j).*(1+beta*L1(i,j));U2(i,j)=F2(i,j).*(1+beta*L2(i,j));Y1(i,j)=im2double(U1(i,j)>Theta1(i,j));Y2(i,j)=im2double(U2(i,j)>Theta2(i,j));Y0(i,j)=Y0(i,j)+Y1(i,j);Y01(i,j)=Y01(i,j)+Y2(i,j);endendY0=medfilt2(Y0,[3,3]);Y01=medfilt2(Y01,[3,3]);for i=1:pfor j=1:qif abs(Y0(i,j)-Y01(i,j))<=0.015R(i,j)=(I1(i,j)+I2(i,j))/2;end if abs(Y0(i,j)-Y01(i,j))>0.015 &&Y0(i,j)>Y01(i,j)R(i,j)=I1(i,j);endif abs(Y0(i,j)-Y01(i,j))>0.015 && Y0(i,j)<Y01(i,j)R(i,j)=I2(i,j);end endend
end
subplot 131;imshow(A);
subplot 132;imshow(B);
subplot 133;imshow(R);
function [normalized_matrix,cmin,cmax]=Normalized(matrix)
input_matrix=abs(matrix);
Max_input=max(input_matrix(:));
Min_input=min(input_matrix(:));
min_matrix=ones(size(input_matrix)).*Min_input;
normalized_matrix=(input_matrix-min_matrix)./(Max_input-Min_input+eps);
cmin=Min_input;
cmax=Max_input;
end;

对本代码进行以下解释:
①、本代码基于PCNN,而不是S-PCNN。
②、PCNN的基本原理在前章有解释。
③、算法的基本流程是归一化;定义PCNN的如下参数:W,LINK RANGE,TIME,aF,vF,aL,vL,aT,vT;定义EOL(energy of laplacian)作为β的自适应值;通过阈值对点火图进行融合得到融合图像。
④、归一化函数算法:选出一个最大值和最小值;让矩阵中所有的数值都减去最小值;得到的新矩阵再除以(最大值-最小值)就得到归一化结果;过程中取绝对值计算。
⑤、权值(W)和链接域(LINK RANGE):通常取奇数,经测试,在W=3时算法却莫名其妙无法计算结果,检查无果,W=5,6,7等时都可正常运行。
⑥、需要注意,步骤③最终用点火图完成融合,不是把点火图融合在一起,而是根据点火图的情况去相应地对源图像像素进行融合操作,故PCNN图像融合也属于像素级的图像融合。

【MATLAB图像融合】[15]一个自适应PCNN的DEMO详解相关推荐

  1. MATLAB图像融合拼接

    MATLAB图像融合拼接 本文说明的内容是图像拼接,采用基于特征点的匹配方法将两张定点拍摄的照片进行拼接,合成一张图,将全景图生成简化成两张图片的拼接,具体可以分为以下几点: 掌握图像灰度化.图像投影 ...

  2. matlab图像融合

    matlab图像融合 [r,c]=size(y1);            %根据低频融合算法进行图像融合 for i=1:r            %首先取两幅源图像相应的小波分解系数绝对值最大者的 ...

  3. matlab图像融合评价,MATLAB 图像融合评估算法

    MATLAB 图像融合评价算法 function laplacian(ori_A,ori_B) path(path,'FusionEvaluation/') %Ori_A = imread('cloc ...

  4. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  5. Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解

    @Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解 1.请求进入第一个断点: 2.请求进入第二个断点: 3.回退断点(回到上一个断点之前,图1,图2共两种操作方法) ...

  6. [Pytorch系列-69]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - test.py代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:[Pytorch系列-66]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleG ...

  7. 【MATLAB图像融合】[13]PCNN脉冲耦合神经网络基本原理

    →这是一篇学习笔记. →但考虑要发出来,还是排版了,请放心食用. PCNN在图像融合中应用广泛 1.脉冲耦合的神经元之间有有耦合和无耦合两种形式.,有耦合的神经元之间存在能量传播,产生同步脉冲发放,从 ...

  8. MATLAB实战系列(四十)-小波变换MATLAB图像融合

    前言 图像融合是综合两幅或者多幅图像的信息,以获取同一场景下更加准确.更加全面.更可靠的图像描述.图像融合可以克服单一图像在几何.光谱.和空间分辨率等方面存在的局限性. 以下是我为大家准备的几个精品专 ...

  9. nsct matlab,图像融合 NSCT算法 matlab

    [实例简介] 经典图像融合算法, NSCT算法,为matlab 和 C++ 混合编译,修改图像地址即可方便使用 [实例截图] [核心代码] NSCT └── NSCT_toolbox ├── atro ...

  10. 非负矩阵图像融合MATLAB,图像融合的非负矩阵分解算法

    第 17 卷 第 9 期 2005 年 9 月 计算机辅助设计与图形学学报 JOURNAL OF COMPUTER2AIDED DESIGN & COMPUTER GRAPHICS Vol17 ...

最新文章

  1. 用了这么多年的 Java 泛型,你对它到底有多了解?|原创
  2. metacoder-相关进化树图的绘制于实践
  3. Ollydbg 常用快捷键
  4. matlab三参数拟合函数,数据拟合,有三个参数,提示拟合参数太多,谢谢您啦!...
  5. 大型网站演化发展历程之三
  6. 关于Java和Scala同步的五件事你不知道
  7. python云计算服务_阿里云python 云计算
  8. 如何利用VUE动态添加class样式
  9. 点击添加一行_微信接龙表格操作方法图文教程,以及微信聊天框怎么另起一行...
  10. Python: 日志库logging总结
  11. 【数学建模】2018 A题 高温作业专用服装设计(8.22-8.24训练)
  12. EXPLAIN查看SQL执行计划
  13. DHT,种子转磁力算法 种子info_hash 代码亲测
  14. EDA课程设计(设计一个4时隙的时分复用模块)
  15. Flask Restful 接口 - SqlAlchemy Marshmallow
  16. 5-大数据分析之 druid 介绍
  17. 手写数字识别的实现(案例)
  18. 基于微信视频分享平台小程序设计与实现 开题报告
  19. MySql底层索引原理
  20. 程序员如何在业余时间提升自己?

热门文章

  1. android 记步功能实现,Android计步(简单Demo)
  2. ViewStub详解
  3. 有效需求预测的四大优势
  4. 计算机社团个人简介怎么写,社团个人简历怎么写
  5. 使用阿里云code和git管理项目
  6. 2021年研究生数学建模竞赛优秀论文汇总
  7. 使用Arduino和水流传感器进行流速和流量测量
  8. python进阶 pdf_Python进阶(Intermediate_Python)_中文PDF彩色版.pdf
  9. GO WBE学习笔记
  10. SVN回滚到指定旧版本操作指南