Python完成证件照换底色
注:该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流。
不久前,我写了一篇关于Python怎么给证件照换底色的文章,阅读2万+,评论102,点赞347,收藏1808。更好玩儿的是,整个留言区简直爆炸了(部分截图如下),好多人都发出了自己的想法,褒贬不一。
其实我想说的事儿,一种事儿可能有很多种解决办法,我的这篇文章只是提供了一种思路。你只有知道了Python可以完成这件事儿,才会想着以后去优化它,不是吗?
Python证件照换底色原文链接:http://suo.im/60i6pb
import cv2 import numpy as np # 读取照片 img=cv2.imread('girl.jpg') # 图像缩放 img = cv2.resize(img,None,fx=0.5,fy=0.5) rows,cols,channels = img.shape print(rows,cols,channels) cv2.imshow('img',img) # 图片转换为灰度图 hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) cv2.imshow('hsv',hsv) # 图片的二值化处理 lower_blue=np.array([90,70,70]) upper_blue=np.array([110,255,255]) mask = cv2.inRange(hsv, lower_blue, upper_blue) #腐蚀膨胀 erode=cv2.erode(mask,None,iterations=1) cv2.imshow('erode',erode) dilate=cv2.dilate(erode,None,iterations=1) cv2.imshow('dilate',dilate) # 窗口等待的命令,0表示无限等待 cv2.waitKey(0)
这篇文章最终展示出来的效果并不是那么的好,可以看出轮廓周围的毛边,并没有很好的去除,可能我的学艺不精的缘故。如果哪位大神有兴趣,可以将这个代码完善一下,上方我提供了原文链接。
Excel完成证件照换底色
既然大家都对这个技能如此感兴趣,我必须要找到一个既容易又效果好的方法,来完成证件照换底色的需求。如果说Python效果不太好,PS又需要一定的基础,那么Excel照换底色,会是很好的选择(效果如下)。
从上图可以看出:Excel证件照换底色的效果还是蛮好的,轮廓周围的毛边完全没有。
废话不多说,我们直接进入主题。看看Excel中,如何完成证件照换底色这个操作?
① 导入图片
② 单击图片,依次点击格式–>删除背景
这一步有一个很关键的步骤,如果没处理好,有可能会将衣服背景一并删除。因此我们需要标记要保留的区域。
注意:是不断点击要保留的区域,直至这个衣服完全出现为止。如果没有做这一步,出来的就是一个人头像,效果如图。
③ 随意更换你想要替换的背景色
当我们换好证件照底色后,还可以给图片做一系列的修改,简直不要太爽!