Python一键更换证件照背景色
Python一键更换证件照背景色
PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除
示例界面
import cv2
import numpy as np
from tkinter import *
from tkinter import ttk
import tkinter as tk
import tkinter.filedialog
import osroot = Tk()
root.title('证件照背景色更换')
root.geometry('400x300')
SelectNum = tk.IntVar() # 用来储存下面勾选项1中返回的0或1FileName = ""
UsingColour = ""
DesColour = ""
DesSize1 = ""
DesSize2 = ""BlueRange = [[90, 70, 70], [110, 255, 255]]
Blue = [219, 142, 67]
Red = [0, 0, 255]
White = [255, 255, 255]def Button1Anwser():global FileNamePath = Label(root, text='')FileName = tkinter.filedialog.askopenfilename()Path.config(text = FileName)Path.grid(row=2, column=0, sticky=W)def Button2Anwser():global DesColourglobal DesSize1global DesSize2ColNum = str(Descmb.get())if ColNum == "蓝色":DesColour = Blueif ColNum == "红色":DesColour = Redif ColNum == "白色":DesColour = Whiteimg = cv2.imread(FileName)Text = Label(root, text='')Text.config(text='正在转换')Text.grid(row=9, column=1)# 缩放rows, cols, channels = img.shape # 长 宽 通道数rows, cols, channels = img.shapecv2.imshow('img', img)# 转换hsvhsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # rgb转hsvlower_colour = np.array([BlueRange[0]])upper_colour = np.array([BlueRange[1]])# 去除背景,低于lower_red和高于upper_red的部分分别变成0,lower_red~upper_red之间的值变成255mask = cv2.inRange(hsv, lower_colour, upper_colour)# 腐蚀膨胀erode = cv2.erode(mask, None, iterations=1) # 腐蚀dilate = cv2.dilate(erode, None, iterations=1) # 膨胀# 遍历替换for i in range(rows):for j in range(cols):if dilate[i, j] == 255:img[i, j] = (DesColour) # 此处替换颜色,为BGR通道cv2.imshow('res', img)Text = Label(root, text='')Text.config(text='转换完成')Text.grid(row=9, column=1)if SelectNum.get() == 1:DesSize1 = int(Size1.get())DesSize2 = int(Size2.get())img = cv2.resize(img, (DesSize1, DesSize2), interpolation=cv2.INTER_CUBIC)cv2.imwrite(os.path.split(FileName)[0]+'\Result.jpg', img) # 保存图像cv2.waitKey(0)cv2.destroyAllWindows()# -------------------------------------界面---------------------------------
SelectFile = Button(root, text="待处理照片", command=Button1Anwser,width=10, height=1, bg="DarkGray", fg="white")
SelectFile.grid(row=1, column=0, sticky=W)UsingCol = Label(root, text='')
UsingCol.config(text='当前背景颜色')
UsingCol.grid(row=3, column=0, sticky=W)Usingcmb = ttk.Combobox(root)
Usingcmb.grid(row=4, column=0, sticky=W)
Usingcmb['value'] = ('蓝色')DesCol = Label(root, text='')
DesCol.config(text='目标背景颜色')
DesCol.grid(row=5, column=0, sticky=W)Descmb = ttk.Combobox(root)
Descmb.grid(row=6, column=0, sticky=W)
Descmb['value'] = ('蓝色', '红色', '白色')PicSize1 = Label(root, text='目标像素:')
PicSize1.grid(row=7, sticky=W)Select = tk.Checkbutton(root, text='调整像素', variable=SelectNum, onvalue=1, offvalue=0)
Select.grid(row=7, column=1, sticky=W)Size1 = Entry(root)
Size1.place(width=5, height=1)
Size1.grid(row=8, column=0, sticky=W)
MultiText = Label(root, text='* ')
MultiText.grid(row=8, column=1)
Size2 = Entry(root)
Size2.place(width=5, height=1)
Size2.grid(row=8, column=2, sticky=W)SelectFile = Button(root, text="开始转换", command=Button2Anwser, width=10, height=1, bg="DarkGray", fg="white")
SelectFile.grid(row=9, sticky=W)root.mainloop()
Python一键更换证件照背景色相关推荐
- PS 更换证件照背景色
哈喽,各位小伙伴!今天我们来学习一下如何更换证件照背景色? 常见证件照 常见的证件照一般有白色.蓝色和红色三种样式,我们拍证件照一般只拍一种,为了节省支出,其他两种颜色就需要我们自己调色处理了 蓝底变 ...
- 程序员如何更换证件照背景色
前言 今天在清理电脑的时候翻到了好多以前写的程序,其中有一个切换证件照背景色的程序,应该是之前填某些资料时用到的.心血来潮,给他写了个界面,也算是一个比较实用的小工具吧.顺带练习pyqt的使用. 环境 ...
- 如何给证件照替换背景颜色?一键替换证件照背景色的方法
证件照换背景的优点 在申请各种证件时,一张合格的证件照是必不可少的.然而,在拍摄证件照时,往往因为背景.光线等问题导致照片质量不佳.因此,将证件照的背景更换为统一的纯色背景就显得尤为重要. 证件照换背 ...
- 再也不需要PS了,用Word更换证件照背景色更简单,10秒即可搞定
在更改证件照的背景颜色时大家一般会怎么更改呢?相信很多人会用PS来更改,但是并不是所有的小伙伴都懂得PS,那么这个时候要怎么办呢? 其实更改证件照的背景色有更简单的方法,不需要用到PS,10秒就能搞定 ...
- 手机更换证件照背景色只需1分钟,别去打印店花冤枉钱了
白底.蓝底.红底.灰底等等,不同的场合需要不同的证件照背景色,虽然奇奇六也不知道这些背景色有什么区别,但是每次要不同颜色的证件照时,都要去打印店里去让老板帮忙改一个背景色,你们可知道改一个背景色就需要 ...
- 深度学习项目实践——制作一个能一键更换证件照背景的软件
背景 前段时间找工作,做简历的时候看中了一个红色为底色的模板,但是发现我的证件照只有蓝色底色的,这和简历不搭啊!有点强迫症的我怎么能忍!果断上网找方法换证件照底色(不要问我为什么不去重新拍一张,因为我 ...
- 怎么给证件照换背景?教你一招快速更换证件照背景色
我们在参加各种网上考试报名的时候都需要上传证件照进行报名登记,不同的考试对证件照的尺寸大小.背景色的要求也不同,当我们手里有证件照但不符合要求又不会用PS的时候该怎么办呢?接下来,小编为大家推荐一款证 ...
- 利用excel更换证件照背景色
excel功能强大到超乎你的想象 插入图片--->设备透明色---->点击背景图----->填充新的背景色(纯色) 真的是超级方便.简单~~~
- 图片 button 去背景色_不会PS没关系,用Word更换证件照背景色只要10秒!
Hello,各位叨友们好呀!我是叨叨君~ 昨天在微博上看到这样一条热搜#原来蓝底照是这样拍的#,看完之后真的成功把我逗笑了,哈哈哈~ 垃圾桶怎么也不会想到,有生之年,还能充当拍照背景板的功能.... ...
最新文章
- python入门作业编程题-【python基础语法】第10天作业练习题
- 距离QCon纽约还有3个礼拜:新的演讲、播客节目和研讨会
- 谋定国际农民丰收节贸易会·万祥军:以色列农业逆袭变局
- Ubuntu使用技巧(一)
- STL源码剖析学习二:空间配置器(allocator)
- 13-Java和Scala中的Future
- 江西工业职业技术学院计算机专业在哪个校区,江西工业职业技术学院几个校区...
- python更新织梦网站_怎么让dedecms织梦网站首页自动更新
- JDBC 连接数据库,包含连接池
- python如何检验显著性差异_基于python的显著性检验
- Spring教程动画文字版2
- Java学习到什么程度可以找第一份工作?
- Mac系统go版本升级
- infopath2007_好吧,很好,所以我服用了该死的红色药丸……行动中的InfoPath(以及小号WinSock的反省)...
- 32种EMC标准电路 (共用)
- 关于Hadoop在java客户端进行下载时的异常java.io.FileNotFoundException: Hadoop home directory is no existed的解决办法
- Python习题答案
- jsp与servlet的关系
- 《Wireshark网络分析从入门到实践》整理和总结
- 京瓷一体复印机设置账户权限的驱动设置
热门文章
- 数据挖掘神经网络算法,人工神经网络分析方法
- 启锐 588 打印机每次打印都流出一部分,没有重新切换纸张
- 自媒体运营转行做数据分析第1年零6个月
- 构思编辑器教你如何不用代码排版出好看的微信公众号文章
- 手机共享笔记本wifi热点
- 中企动力牵手七鑫易维 以眼球追踪技术剔除建站顽疾
- Oracle 19c VLDB and Partitioning Guide 第1章:Introduction to Very Large Databases 读书笔记
- VLDB 历年最佳论文汇总
- EndNote 高校_EndNote引文格式修改全攻略(一)——中英文混排问题
- 外推法的matlab程序