出处: 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. 机器学习理论篇:机器学习的数学基础
  2. Java.util包中常用的类
  3. dependencies与devDependencies的区别
  4. 函数,游标与存储过程的综合应用
  5. java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒
  6. 【CodeForces - 1041D】Glider (枚举起点,双指针 或 二分终点,思维)(知识点总结)
  7. Bokeh 风格属性设置
  8. AI 告别炒作,Java 0 增长,2021 技术路在何方?
  9. [转载] 当心掉进Python多重继承里的坑
  10. 计算机博弈军旗程序,军棋机器人UCT算法及计算机博弈行为研究
  11. 狮子鱼社区团购商城系统小程序v17.7.0独立版+前端 安装使用教程
  12. mysql number 类型_mysql number类型
  13. css动画旋转加平移实现3D图片墙
  14. 为什么手机网速太慢_为什么苹果手机的网速变慢了_苹果手机上网速度慢的解决方法-系统城...
  15. HDU 5745 La Vie en rose(简单模拟)
  16. Linux keypad 设备树,GitHub - bilibilifmk/rpi_mt: 树莓派移动终端 全键盘及2.4寸tft材质屏幕...
  17. 分享一个挺不错的Git视频教程
  18. Asp.net WebApi跨域_se7en3_新浪博客
  19. 自定义ComboBox控件,完美解决C#自带的ComboBox效率慢的问题
  20. JavaScript的压缩工具

热门文章

  1. 制冷行业人人必备的设计与仿真软件大全!(附下载)
  2. matlab仿真不确定时滞系统容错控制,基于自适应方法的非线性系统容错控制
  3. wxParse解析iframe播放视频
  4. CAD1:1导出图纸的步骤
  5. 计算机农业应用与3S技术论文,3S技术在精细农业中的应用实例分析
  6. zotero文献管理工具的下载安装
  7. GJB用于试验的计算机软件,GJB9001C-2017版标准培训课件.ppt
  8. ARM指令集发展概述
  9. 模块式工业机器人柔性自动化生产线实训系统(五站)
  10. Linux源码安装包快速升级方法