python证件照_python实现证件照换底功能
本来是在找交通识别的程序,然后凑巧看见了证件照换底,于是学习了一下~一开始在网上找了一个很普遍写的程序,但是效果并不好,想要放弃了,然后看见了这个,参考:python opencv实现证件照换底功能
本人基于此做了一些改进,便于自己运行和调试,还加了中值滤波,本人觉得效果还不错~
代码:
import cv2
import numpy as np
def cvtBackground(path,color):
"""
功能:给证件照更换背景色(常用背景色红、白、蓝)
输入参数:path:照片路径
color:背景色
"""
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])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2019-08-17
python证件照_python实现证件照换底功能相关推荐
- python opencv pdf脚本之家_python opencv实现证件照换底功能
本文实例为大家分享了python opencv实现证件照换底功能的具体代码,供大家参考,具体内容如下 思路:先转到HSV空间,利用颜色提取背景制作掩模版mask,然后通过按位操作提取人像和制作新背景, ...
- php-opencv身份证识别,python opencv实现证件照换底功能
本文实例为大家分享了python opencv实现证件照换底功能的具体代码,供大家参考,具体内容如下 思路:先转到HSV空间,利用颜色提取背景制作掩模版mask,然后通过按位操作提取人像和制作新背景, ...
- 【微信小程序】照片换底(免费拍摄多种类型证件照、剪裁、换底、压缩)
[微信小程序]照片换底(免费拍摄多种类型证件照.剪裁.换底.压缩) 前言 微信搜索小程序:快速照片换底.利用AI抠图制作各种类型的证件照,关键是免费. 应用截图 注意事项 纯色背景,比如蓝布或者白墙 ...
- python 实现证件照换底
本来是在找交通识别的程序,然后凑巧看见了证件照换底,于是学习了一下~一开始在网上找了一个很普遍写的程序,但是效果并不好,想要放弃了,然后看见了这个,参考:https://blog.csdn.net/w ...
- matlab实现证件照换底+美肤的功能
f=imread('boy2.png');subplot(1,3,1);imshow(f);title('原图'); a=f(:,:,3); %确定图像的大小 [m,n]=size(a); for ...
- PaddleHub创意项目-制作证件照(抠图换底美颜)
PaddleHub创意项目-制作证件照(抠图换底美颜) 经过三个星期的百度架构师手把手带你零基础实践深度学习,对paddle有了一定了解,现在利用PaddleHub实践一个对图像进行抠图换底加美颜的小 ...
- 我的小程序新增了证件照换底色功能
点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 原文地址 http://wp.fang1688.cn/study/646.html 我的小程序新 ...
- 利用Photoshop对证件照换底且抠出头发丝
如何利用Photoshop对证件照换底,且抠出头发丝 关键在于利用好通道选取 详情参见: https://www.2014g.cn/hangye/1734.html
- OpenCV-python 证件照换底-利用函数inRange及滑动条creatTrackbar分割
OpenCV-python 证件照换底 利用函数inRange及滑动条creatTrackbar分割 证件照换底HSV参考图片总是设定不准inRange的值.做一个利用滑条滑动直接看效果的吧 inRa ...
最新文章
- [20160311]ora-01732.txt
- 二十个CSS经典技巧
- php删除文件指令,php – Symfony cache:清除命令更改文件夹所有者
- android view 转Bitmap 生成截图
- 26岁的她,成为深圳大学史上最年轻正教授!
- div自动滚动_从手机滚动丢帧问题,学习浏览器合成与渲染层优化
- 信息提示无法建立数据连接服务器,FileZilla 链接FTP服务器无法建立数据连接: ECONNREFUSED...
- X3D 参数代码(一)
- ie 传递给系统调用的数据区域太小。_RFID银行资产管理系统,智能,简便,易操作...
- 如何查看内核参数的说明文档
- android-常用布局-三
- Kali下TheFatRat工具的安装教程
- SQL SERVER触发器(附有实例)
- 原生js完成的五子棋人机大战
- layui框架弹出窗口,点击确定跳转指定地址
- 完全卸载SQL server 2005的方法
- Sass学习(二)--混合器与继承
- 八段数码管数字显示实验c语言,八段数码管显示实验.doc
- Linux tcp拥塞控制
- Entrust 将不再签发超过13个月有效期的SSL证书