首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >opencv图像融合

opencv图像融合

作者头像
淼学派对
发布于 2023-10-14 03:03:50
发布于 2023-10-14 03:03:50
42900
代码可运行
举报
文章被收录于专栏:云开发小程序1云开发小程序1
运行总次数:0
代码可运行

图像融合

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

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

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

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

表示融合图像块的梯度。

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

 读取需要融合的两张图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cv2
import numpy as np 

src = cv2.imread("1.jpg")
dst = cv2.imread("2.jpg")

 创建飞机的mask

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 飞机中心位置在dst的坐标
center = (500,100)
# 泊松融合.
output1 = cv2.seamlessClone(src, dst, src_mask, center, cv2.MIXED_CLONE)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学界 | 从泊松方程的解法,聊到泊松图像融合
AI 科技评论按,本文作者成指导,字节跳动算法工程师,本文首发于知乎(https://zhuanlan.zhihu.com/p/68349210),AI 科技评论获其授权转载,正文内容如下:
AI科技评论
2019/06/18
2K0
学界 | 从泊松方程的解法,聊到泊松图像融合
OpenCV图像无缝融合-seamlessClone介绍与使用(Python/C++源码)
seamlessClone是OpenCV3后添加的函数,使用此函数可以轻松将一幅图像中的指定目标复制后粘贴到另一幅图像中,并自然的融合。函数说明:
Color Space
2021/03/09
5.2K0
OCR -- seamlessClone泊松融合
opencv:https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp/
MachineLP
2019/05/26
1.6K0
OpencvSharp图像融合
最近学习OpencvSharp使用Opencv仿照C++opencv翻译过来。举个例子,图像融合C++版
云未归来
2025/07/18
530
[Python图像处理] 五.图像融合、图像加减法、图像逻辑运算及图像类型转换
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类、目标检测应用。
Eastmount
2021/12/02
6K0
[Python图像处理] 五.图像融合、图像加减法、图像逻辑运算及图像类型转换
图像融合之泊松融合(Possion Matting)
前面有介绍拉普拉斯融合,今天说下OpenCV泊松融合使用。顺便提一下,泊松是拉普拉斯的学生。   泊松融合的原理请参考这篇博文https://blog.csdn.net/u011534057/arti
一棹烟波
2018/05/28
3.5K0
【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化
  泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果。前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了,可以直接使用,他说opencv的框架太大,不想为了一个功能的需求而背上这么一座大山,看能否做个脱离那个环境的算法出来,当时,觉得工作量挺大,就没有去折腾,最近年底了,项目渐渐少了一点,公司上面又在搞办公室政治,我地位不高,没有参与权,所以乐的闲,就抽空把这个算法从opencv里给剥离开来,做到了完全不依赖其他库实现泊松融合乐,前前后后也折腾进半个月,这里还是做个开发记录和分享。
用户1138785
2024/01/17
6260
【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化
泊松编辑 (Poisson Image Editing)
图像融合在cv领域有着广泛用途,其中2003年的论文 Poisson Image Editing - 2003 因其开创性与效果拔群成为了相关领域的经典之作。而且该算法在传统图像融合算法中效果拔群,对该领域影响深远。 简介 泊松图像编辑是一种全自动的“无缝融合”两张图像的技术,由Microsoft Research UK的Patrick Perez,Michel Gangnet, and Andrew Blake在论文“Poisson Image Editing”中首次提出。 泊松编辑主要解决的
为为为什么
2022/08/05
2K0
泊松编辑 (Poisson Image Editing)
人脸融合?没有想象中难!
颜如玉 —— python + opencv 人脸融合程序,可实现类似天天P图疯狂换脸、face++人脸融合效果
IT派
2018/07/30
6K0
人脸融合?没有想象中难!
Python 图像处理实用指南:11~12
在本章中,我们将继续讨论图像处理与深度学习的最新进展。我们将特别处理一些问题,并将尝试使用深度 CNN 的深度学习来解决这些问题
ApacheCN_飞龙
2023/04/27
1.2K0
基于均值坐标(Mean-Value Coordinates)的图像融合算法的具体实现
泊松融合是图像融合处理效果最好的算法,其来自于2004年Siggraph的经典paper:《Poisson Image Editing》。以这篇文章为发端,很多大神提出了一系列的优化算法。2009年, Zeev Farbman 在的SIGGRAPH上面提出的基于Mean-Value Coordinates方法的泊松融合加速算法《Coordinates for Instant Image Cloning》(文献二)。在这篇文章中,泊松方程被转换成拉普拉斯方程,并且提出了用均值坐标Mean-Value Coordinates来近似求解这个方程,从而达到实时运算的效果。
charlee44
2020/03/19
1.5K0
OpenCV3 新特性 - 图像无缝克隆函数演示
OpenCV3.x的图像计算模块多了新算法API-无缝克隆(Seamless Cloning),主要是针对图像编辑,局部修改等应用场景实现迁移对象与原图像场景的无缝克隆。相关函数与参数说明如下:
OpenCV学堂
2018/07/26
1.4K0
OpenCV3 新特性 - 图像无缝克隆函数演示
12. 泊松图像编辑
我们之前已经学到了从cut-and-paste到多频带融合等图像的合成和融合技术。它们各自都有一些缺点。
HawkWang
2020/04/17
1.1K0
12. 泊松图像编辑
OpenCV Python 系列教程 4 - OpenCV 图像处理(上)
HSV 的色相范围为 [0,179],饱和度范围为 [0,255],值范围为 [0,255]。不同的软件使用不同的规模。
机器视觉CV
2019/07/15
3.2K0
OpenCV Python 系列教程 4 - OpenCV 图像处理(上)
外星世界,真实呈现,外星版Pokemon Go是如何做到的?
基于Pokemon的故事背景的Pokemon Go在刚上线时,在全世界风靡一时。玩家可以通过智能手机在现实世界里发现宠物小精灵(宝可梦),进行抓捕和战斗。打开手机App, 通过摄像头画面就能看到Pokemon出现在真实世界中。
用户1386409
2021/09/27
5560
Python易容术
前两天看到篇介绍英伟达StyleGAN生成逼真假脸的文章,其源码正是通过Python和Tensorflow实现的,利用AI生成并不存在的头像图,来感受下:
TTTEED
2020/07/09
6560
Python opencv 图像特效处理
灰色图像的所有颜色通道的值相等,所以要想将彩色图像变为灰色图像,只需将他们颜色通道的值相等即可。
用户9925864
2022/07/27
7560
Python opencv 图像特效处理
OpenCV 系列教程5 | OpenCV 图像处理(中)
霍夫变换是一种特征提取技术,主要应用于检测图像中的直线或者圆。 OpenCV 中分为霍夫线变换和霍夫圆变换。
机器视觉CV
2019/11/12
1.7K0
OpenCV 系列教程5 | OpenCV 图像处理(中)
【计算摄影】浅析多重曝光与自动图像融合技术
大家好,这是专栏《计算摄影》的第六篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。
用户1508658
2021/05/07
1.3K0
热力图与原始图像融合
使用神经网络进行预测时,一个明显的缺陷就是缺少可解释性,我们不能通过一些简单的方法来知道网络做出决策或者预测的理由,这在很多方面就使得它的应用受限。 虽然不能通过一些数学方法来证明模型的有效性,但我们仍能够通过一些可视化热力图的方法来观测一下原始数据中的哪些部分对我们网络影响较大。 实现热力图绘制的方法有很多,如:CAM, Grad-CAM, Contrastive EBP等。在热力图生成之后,因为没有原始数据信息,所以我们并不能很直观地观测到模型到底重点关注了图像的哪些区域。这时将热力图叠加到原始图像上的想法就会很自然的产生。这里存在的一个问题是原始图像的色域空间可能和产生的热力图的色域空间是不一致的,当二者叠加的时候,会产生颜色的遮挡。并且因为产生的热力图的尺寸应该与原始图像尺寸一致或者调整到与原始尺寸一致,这样当二者直接简单地叠加的话,产生的图像可能并不是我们想要的,因此,我们需要先对热力图数据进行一些简单的像素处理,然后在考虑与原始图像的融合。以下部分的安排为:1. 热力图的产生 2. 热力图与原始图的叠加 3. 热力图与原始图融合优化
范中豪
2020/07/31
1.9K0
热力图与原始图像融合
推荐阅读
相关推荐
学界 | 从泊松方程的解法,聊到泊松图像融合
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档