python实现证件照换底功能


Posted in Python onAugust 20, 2019

本来是在找交通识别的程序,然后凑巧看见了证件照换底,于是学习了一下~一开始在网上找了一个很普遍写的程序,但是效果并不好,想要放弃了,然后看见了这个,参考:python opencv实现证件照换底功能

本人基于此做了一些改进,便于自己运行和调试,还加了中值滤波,本人觉得效果还不错~

代码:

import cv2
import numpy as np
 
def cvtBackground(path,color):
 """
 功能:给证件照更换背景色(常用背景色红、白、蓝)
 输入参数:path:照片路径
 color:背景色 <格式[B,G,R]>
 """
 im=cv2.imread(path)
 im_hsv=cv2.cvtColor(im,cv2.COLOR_BGR2HSV) #BGR和HSV的转换使用 cv2.COLOR_BGR2HSV
 #aim=np.uint8([[im[0,0,:]]])
 #hsv_aim=cv2.cvtColor(aim,cv2.COLOR_BGR2HSV)
 mask=cv2.inRange(im_hsv,np.array([im_hsv[0,0,0]-5,100,100]),np.array([im_hsv[0,0,0]+5,255,255])) #利用cv2.inRange函数设阈值,去除背景部分
 mask1=mask      #在lower_red~upper_red之间的值变成255
 img_median = cv2.medianBlur(mask, 5) #自己加,中值滤波,去除一些边缘噪点
 mask = img_median
 mask_inv=cv2.bitwise_not(mask) 
 img1=cv2.bitwise_and(im,im,mask=mask_inv) #将人物抠出
 bg=im.copy()
 rows,cols,channels=im.shape
 bg[:rows,:cols,:]=color
 img2=cv2.bitwise_and(bg,bg,mask=mask) #将背景底板抠出
 img=cv2.add(img1,img2)
 image={'im':im,'im_hsv':im_hsv,'mask':mask1,'img':img,'img_median':img_median}
 cv2.startWindowThread() #加了这个后在图片窗口按Esc就可以关闭图片窗口
 for key in image:
 cv2.namedWindow(key)
 cv2.imshow(key,image[key])
 cv2.waitKey(0)
 cv2.destroyAllWindows()
 return img
#test
if __name__=='__main__':
 img=cvtBackground('3.jpg',[0,0,180])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
python中引用与复制用法实例分析
Jun 04 Python
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
Python实现的个人所得税计算器示例
Jun 01 Python
pyqt5实现登录界面的模板
May 30 Python
Python列表切片常用操作实例解析
Dec 16 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 Python
详解Python flask的前后端交互
Mar 31 Python
pytorch多进程加速及代码优化方法
Aug 19 #Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 #Python
python opencv实现证件照换底功能
Aug 19 #Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
Aug 19 #Python
将Pytorch模型从CPU转换成GPU的实现方法
Aug 19 #Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 #Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 #Python
You might like
PHP 查找字符串常用函数介绍
2012/06/07 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
离婚被告答辩状
2015/05/22 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers