主页 > 区块链钱包 > [imtoken官网下载3.0版本]怎么用python把玩守望先锋新英雄

[imtoken官网下载3.0版本]怎么用python把玩守望先锋新英雄

管理员 区块链钱包 2022年07月19日

#裁剪图片

for i in range(rows):
back_img = cv2.imread('back_img.jpg') #图片导入
back_img = cv2.cvtColor(back_img,cv2.COLOR_RGB2BGR) #图像格式转换

最后打印图片规格和图片本身

 抠图:三种效果 

这个操作用PS并不复杂,让我们来看一下这一过程如何用代码来实现~

 然后,导入前景图

center = [70,240] #设置前景图开始位置

首先,导入一些工具包

show(img_hsv) #显示图片
img_hsv = cv2.cvtColor(img,cv2.COLOR_RGB2HSV) #把图片转换成HSV格式,用于抠图

我们发现人物图高度和背景高度差不多,且我们只要中间的人像即可,那么我们先来适当地裁剪一下图片

lower_blue=np.array([0,0,0]) #获取最小阈值

同样的方法,导入背景图

 建立一个显示图片的函数,便于在P图过程中,实时查看效果

            back_img[center[0]+i,center[1]+j] =img[i,j] #赋值颜色
print(img.shape) #打印图片规格

下一节:怎么弄清Python的时间和日期问题Python编程技术

show(back_img) #显示图片
#导入前景图
#抠图
dilate=cv2.dilate(erode,None,iterations=1) #图像膨胀
img=cv2.resize(img,None,fx=0.9,fy=0.9) #图片缩小10%

如何用python把玩守望先锋新英雄

再对图片缩小10%,这样大小最为合适

受限于图片质量和简化代码,略显粗糙,但大体已经达到功能~

 素材处理 

import cv2

 来看一下效果,高1054像素,长703像素,3通道。

不过,我们发现,人物中间有那么多小点点,我需要把它们去掉。这里使用形态学图像处理的基本方法,先腐蚀后膨胀。其原理是在原图的小区域内取局部最小值和最大值,背后的逻辑为深度学习中的卷积神经网络。

erode=cv2.erode(mask,None,iterations=3) #图像腐蚀
#导入背景图

如何用python把玩守望先锋新英雄

来看一下今天的素材:守望先锋新上线的英雄——艾什的正面照:

opencv(cv2),用于图像处理

通过尝试,,我发现还可以使用开运算(先腐蚀后膨胀的整合运算)直接完成这一过程,且效果相对较好。

最后,终于到了图像合并环节。先设定人物在背景图中的起始位置。再遍历遮罩中的每个像素,如果是0(代表黑色),则把人物图像上的颜色赋值到背景图像上。

本文网络收集整理,不构成任何投资建议。转载请注明出处:https://www.bnlive.com.cn/qklqb/8392.html

标签: python   编程   编程宝库   程序设计