一、泊松彩色图像融合简介

0 引 言
图像拼接是计算机视觉领域的一个重要分支。它是一种将同一场景相互有重叠部分的一系列图片合成为一幅大的宽视角全景图像技术。图像拼接己在计算机视觉、医学图像、模式识别和遥感图像等方面得到广泛的应用。其中, 图像融合是最关键的步骤, 图像融合就是确定重叠区域内每一个像素点如何取值, 以实现图像间的平滑过渡和无缝拼接。图像融合可以通过加权平均算法, 多分辨率方法或基于梯度域的融合方法来实现。由于加权平均算法只对重叠区进行加权平均, 因此只在重叠区实现融合过渡, 很难消除合成鬼影, 且对配准误差很敏感。然而多分辨率拼接方法则通过将图像分解成多幅尺度图像再合成, 不仅可实现整图范围内的融合过渡, 并可降低对配准误差的敏感度, 他的不足是由于多次滤波会造成信号减弱, 因此最终合成的图像会变暗和模糊。基于梯度域的融合方法是利用梯度场实现合成, 由于需要计算出重叠区的梯度场, 因此合成的图像不会出现多分辨拼接中存在的变暗和模糊的现象。

Patrick P等人在2003年提出了Poisson图像编辑法, 该方法利用图像梯度场对待融合区域进行引导插值, 将图像融合问题归结为求目标函数的最小化问题, 并利用Poisson方程求解这一变分问题。该方法被很多人运用和研究, 取得了很好的效果。本文运用该方法解决两幅图像间的融合问题, 并在Matlab环境下仿真实现。

1 工作原理
1.1 泊松方程

该方法所用的核心数学工具是带狄里克雷边界条件的泊松偏微分方程, 狄里克雷边界条件指定了在影响域内未知函数的拉普拉斯算子, 以及在区域边界上的未知函数值的拉普拉斯算子。由数学知识可知, 泊松方程的基本表达式如下:

根据狄里克雷 (Dirichlet) 边界条件, 可给出u+S上的值, 如图1所示。

图1 相关概念

1.2 离散实现
由式 (1) 的有限微分离散化得到如下离散的二次最优化问题:对所有p∈Ω的点而言, 且fp = f*p。

当Ω包含S边界上的像素时 (例如当Ω扩展至像素网格的边缘时可能发生这种情况) , 这些像素拥有的上限邻域|Np|<4。注意到对于Ω之内的像素p, 有Np∈Ω, 则式 (3) 可化为:

方程 (3) 建立了一个经典的、稀松 (带状) 的、对称的、正定的系统。由于边界Ω的任意形状, 必须使用迭代解法。应用较多的是连续超松弛的Gauss-Seidel迭代法, 或是V-循环的多重网格法。

2 系统实现
Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言, 有着强大的数值计算功能和绘图功能, 且具有丰富的图像处理函数[6]。在Matlab环境下的图像无缝拼合系统能够实现彩色图像的无缝拼合, 且可以改变待处理区域内景物的色彩、光照等因素, 使拼合后的图像更加真实、自然。

本系统主要包含4个步骤:
步骤1:选取待处理区域并将其拷贝到目标图像上, 得到直接拼合后的图像, 此时所得图像存在明显的拼接赝像, 如图2~图4所示。
步骤2:求指导矢量场V的散度值。

令引导矢量场为稳定场, 取它为函数g的梯度。对于离散的数字图像来说, 梯度可以写作:

式中:i, j分别是数字图像I的行坐标和列坐标 (图像坐标以左上角为整个坐标空间的原点) , 且i, j不可超过图像的高度和宽度。

步骤3:建立泊松方程 (式 (1) ) , 并求泊松方程的解向量。
泊松图像编辑方法中指出彩色图像各个颜色通道是相互独立的, 可以对每一个颜色通道分别求解泊松方程, 然后进行综合即可得到最终结果。在Matlab中彩色图像的颜色模型是RGB颜色模型, 所以对彩色图像的RGB三个颜色通道分别解泊松方程得到最终结果。
步骤4:进行拉普拉斯插值。
所谓拉普拉斯插值是指插值区域内部满足拉普拉斯方程。因此, 仅需要将拉普拉斯方程的解向量赋值给插值区域内部, 泊松方程的解向量赋值给其边界即可[9]。

二、部分源代码

close all;
clear;
clc;
%载入图像
TargetImg = imread('poolRGB.jpg');
SourceImg = imread('bearRGB.jpg');
SourceMask = im2bw(imread('bearMask.jpg'));
%获取裁剪边界
[SrcBoundry,~] = bwboundaries(SourceMask);
%绘制剪切边界
figure,imshow(SourceImg),axis image
hold on
for k = 1:length(SrcBoundry)boundary = SrcBoundry{k};plot(boundary(:,2),boundary(:,1),'r','LineWidth',2)
end

三、运行结果





四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]张建桥,王长元.基于泊松方程的数字图像无缝拼合[J].现代电子技术. 2010,33(17)

【图像融合】基于matlab泊松彩色图像融合【含Matlab源码 1830期】相关推荐

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

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

  2. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  3. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  4. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  5. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  6. 【Matlab车牌识别】停车计费系统【含GUI源码 735期】

    一.代码运行视频(哔哩哔哩) [Matlab车牌识别]停车计费系统[含GUI源码 735期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLA ...

  7. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  8. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  9. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  10. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

最新文章

  1. 网络营销中SEO是最常用的“圈粉”引流方式之一
  2. VJ 1033 整数分解(版本2)
  3. Redis数据库(三)——(主从复制、哨兵模式、集群)
  4. w ndows2000,华塑CAE软件简介
  5. 如何在windows server 2008上配置NLB群集
  6. Too_many_open_files_问题的解决
  7. find命令进阶用法(一)
  8. ROS 位置姿态Odometry仿真模拟(gmapping)
  9. PM2.5空气质量提醒实验
  10. 局域网内ping不通另外一台电脑_疫情期间宅家一台电脑如何做计算机网络实验...
  11. 将ppt转换成html文件格式,如何将幻灯片.pptx格式转换成.ppt格式
  12. 如何书写一手优雅的代码之小刚有话说
  13. 文献 | 从认知和护理角度谈双相情感障碍
  14. LL教你入侵网站(算是吧)--对于天津理工教务处网站找回密码方案的建议
  15. SMETA验厂辅导,贸易公司、物流仓储公司是否可以申请SMETA审核
  16. ESP32 ESP8266的参数及对比
  17. 顶级高手常用的16个思维模型
  18. 基于Hadoop的高校教学管理平台设计与实现
  19. 【RDMA】无损网络和PFC(基于优先级的流量控制)|ECN
  20. 计算机应用软件系统修改记录,[计算机软件及应用]修改记录_多路计费器.doc

热门文章

  1. 数据库的点数据根据行政区shp来进行行政区处理,python定时器实现
  2. 如何简单的理解TDD与DDT
  3. 使用python调用shell判断当前进程是否存在
  4. Java中static的用法,初始化块
  5. XPath总结(转)
  6. 20191011每日一句
  7. 190403每日一句
  8. Atitit 圣爱提拉克斯在会议上 2019年10月中旬的一天,有过这样的事。 这天,地方上风大。出乎人们意料之外,到东海岸一个地方访问的亲爱的领导者圣爱提拉克斯要同人们一道开会。主持人着了慌,
  9. Atitit QL查询语言总结 目录 1. QL = Query Language, 是查询语言的简称 1 2. 模型 2 2.1. 内嵌语言执行 2 2.2. 语言互操作 2 3. 具体实现 2
  10. Atitit 常见的bpmn事件类型与触发机制 目录 1. 事件定义概述 2 2. 按照事件的位置分类 2 2.1. 对事件按照位置进行分类,主要可分为开始事件、中间事件和结束事件, 2 3. 按照