大家好,我是csdn的博主:lqj_本人

这是我的个人博客主页:

lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop

小淼Develop的个人空间-小淼Develop个人主页-哔哩哔哩视频

本篇文章主要讲述python的人工智能视觉领域(opencv),本篇文章已经成功收录python人工智能视觉(opencv)从入门到实战专栏中:https://blog.csdn.net/lbcyllqj/category_12200666.htmlhttps://blog.csdn.net/lbcyllqj/category_12200666.html

图像融合

  • 背景:图像融合是图像处理的一个基本问题,目的是将源图像中一个物体或者一个区域嵌入到目标图像生成一个新的图像。在对图像进行合成的过程中,为了使合成后的图像更自然,合成边界应当保持无缝。但如果源图像和目标图像有着明显不同的纹理特征,则直接合成后的图像会存在明显的边界。
  • 引入:基于泊松方程而引入的泊松融合求解像素最优值的方法,在保留了源图像梯度信息的同时,融合源图像与目标图像。该方法根据用户指定的边界条件求解一个泊松方程,实现了梯度域上的连续,从而达到边界处的无缝融合。

对比传统图像融合和泊松融合

  • 传统的图像融合:

    • 精确地选择融合区域:过程单调乏味且工作量大,常常无法得到好的结果。
    • Alpha-Matting:功能强大,但是实现复杂。
  • 基于Poisson方程的无缝融合:
    • 选择融合区域的过程简单且方便。
    • 最终可以得到无缝融合的结果。

变分法的解释泊松图像编辑

表示融合图像块的梯度。

变分方程的意义表明我们的无缝融合是以源图像块内梯度场为指导,将融合边界上目标场景和源图像的差异平滑地扩散到融合图像块 I 中,这样的话,融合后的图像块能够无缝地融合到目标场景中,并且其色调和光照可以与目标场景相一致。

读取需要融合的两张图

import cv2
import numpy as np src = cv2.imread("1.jpg")
dst = cv2.imread("2.jpg")

创建飞机的mask

src_mask = np.zeros(src.shape, src.dtype)
# 绘制多边形
poly = np.array([ [4,80], [30,54], [151,63], [254,37], [298,90], [272,134], [43,122] ], np.int32)
cv2.fillPoly(src_mask, [poly], (255, 255, 255))
  • 融合操作使用 cv2.eamlessClone() :

    • 参数1:融合图(飞机)
    • 参数2:目标图(天空)
    • 参数3:融合图的mask
    • 参数4:融合图位置中心
    • 参数5:融合方式,常用 cv2.MIXED_CLONE 和 cv2.NORMAL_CLONE
# 飞机中心位置在dst的坐标
center = (500,100)
# 泊松融合.
output1 = cv2.seamlessClone(src, dst, src_mask, center, cv2.MIXED_CLONE)

opencv图像融合相关推荐

  1. opencv 图像融合

    图像相加 要叠加两张图片,可以用cv.add()函数,相加两幅图片的形状(高度/宽度/通道数)必须相同.numpy中可以直接用res = img + img1相加,但这两者的结果并不相同: impor ...

  2. opencv图像融合(给人脸添加一个眼镜)

    基于dlib68点人脸检测的小功能实现 图像旋转找的现成的方法,稍稍麻烦点的地方就是mask处理,虽然目的达到了,但是效果一般 1 import numpy as np 2 import cv2 as ...

  3. OpenCV图像处理使用笔记(四)——图像融合

    前言常用 1.在OpenCV中定义了好多函数用来操作图像矩阵,有两个矩阵相加的,相减的,混合的,下面我使用QT加OpenCV演示图像融合这个函数. 2.我的IDE是Qt creator,OpenCV的 ...

  4. 【opencv】(2) 图像处理:边界填充、图像融合、图像阈值、数值计算

    主要内容有:边界填充 cv2.copyMakeBorder(),数值计算 cv2.add(),改变尺寸 cv2.resize(),图像融合 cv2.addWeighted(),图像阈值 cv2.thr ...

  5. 【opencv系列08】OpenCV4.X图像融合操作

    点击上方"AI搞事情"关注我们 图像叠加 add(src1, src2, dst=None, mask=None, dtype=None)函数或者numpy操作实现图像按位相加,若 ...

  6. opencv学习笔记7:图像加法与图像融合

    图像加法 1.使用Numpy加法 运算方式:结果=图像1+图像2 原理:图像数据格式为unit8 8位二进制表示范围是0到255. 二进制相加 1.不超过255的,如100+58=158 2.两数相加 ...

  7. [Python图像处理] 三十五.OpenCV图像处理入门、算数逻辑运算与图像融合(推荐)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. OpenCV精进之路(十六):图像分解和融合技术——图像拼接和图像融合技术

    图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要. 再举一个身边的例子吧,你用你的手 ...

  9. [转载] opencv学习笔记7:图像加法与图像融合

    参考链接: python opencv 基础 4: addWeighted() 融合两张图像 图像加法 1.使用Numpy加法 运算方式:结果=图像1+图像2 原理:图像数据格式为unit8 8位二进 ...

最新文章

  1. babel7中 preset-env 完全使用
  2. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(二)
  3. Ubuntu下安装JDK步骤
  4. 服务器硬盘 主板,服务器主板和普通主板有什么区别?
  5. 【2017年第1期】CCF大专委2017年大数据发展趋势预测
  6. 轻易致盲分类器!普渡大学提出光学对抗攻击算法:OPAD,想法奇特,性能有效!...
  7. iframe框架及优缺点
  8. d. powerful ksenia_DEBON D.D |这才是每个女人应该拥有的
  9. 别和 Python 说再见了!丨搞不定它的程序员,到底怎么了?
  10. 计算机四进制表示形式,1.4.2 二进制数的四种表示形式(1)
  11. 霍夫曼编码实验matlab,哈夫曼编码 MATLAB程序
  12. java中osend,如何从java o javafx向windows任务栏发送信息
  13. python逢7过小游戏_while循环拓展:用python做一个逢七过小游戏
  14. 华为onu 调为交换机_华为onu命令及操作步骤
  15. MV178——我的心灵家园
  16. H5如何返回微信小程序
  17. 我的世界java版forge怎么用_我的世界forge怎么安装
  18. 分享一款超好用的 Web SSH 客户端工具
  19. 工商银行理财快速刷星汇总
  20. apk 泊车摄像头_【精】申精,两厢黑色嘉年华安装导航摄像头倒车影像作业,俺系小黑...

热门文章

  1. 智能合约_HPB智能合约最佳实践
  2. 龙芯3A4000处理器解读 ②
  3. [动态规划入门] 记录动态规划的学习!
  4. 从立项到发布仅三个月,开源技术问答社区 Answer 是如何诞生的?
  5. 详尽!统计学知识大梳理
  6. 2017——腾讯产培生笔试、面经
  7. linux的ctrl c信号,linux ctrl+c信号
  8. 扁鹊见王的故事——《重构》前言
  9. 关于图片加载错误的自定义处理(缺省图)
  10. ./ 执行命令没有权限