使用Python CV2融合人脸到新图片--优化版

优化说明

上一版本人脸跟奥特曼图片合并后边界感很严重,于是查找资料发现CV2还有一个泊松函数很适合融合图像。具体代码如下:

python 复制代码
import numpy as np
import cv2
 
usrFilePath = "newpic22.jpg"
atmFilePath = "atm2.jpg"
src = cv2.imread(usrFilePath)
dst = cv2.imread(atmFilePath)
 
src_mask = 255 * np.ones(src.shape, src.dtype)
center = (200,180)
output = cv2.seamlessClone(src, dst, src_mask, center, cv2.NORMAL_CLONE)

cv2.imencode('.jpg', output)[1].tofile(r'add_img.jpg')
cv2.imshow('output', output)
cv2.waitKey(0)

我们来看看本次融合后的效果图:

感觉边界感没有之前那么明显了,算是比较合适的一次融合。

相关推荐
不正经学生3 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技3 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风6 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx6 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_7 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_7 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
拿我格子衫来7 小时前
LaserWeb4:矢量图与位图如何变成 G-code
图像处理·图形渲染
geovindu7 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风7 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
我找到地球的支点啦8 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信