那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python證件照制作小程序源代碼

汽車電子技術 ? 來源:Python代碼大全 ? 作者: Python代碼狂人 ? 2023-02-24 10:23 ? 次閱讀

Python證件照制作小程序源代碼,可一鍵修改證件照背景及大小,采用removebg在線摳圖工具進行自動摳圖,程序中已提供默認apiKey(g79GjuedecMLVVwkfXWSLv26)。直接運行程序即可一鍵制作證件照。

poYBAGP4H3aAVYyRAALnlUOXWaQ543.png

poYBAGP4H4WANRcuAATOec18iMA094.png

核心程序代碼

from PIL import Image
from removebg import RemoveBg
from pathlib import Path
from tkinter import ttk
from ttkthemes import ThemedTk
import tkinter as tk
from tkinter import filedialog, colorchooser
'''
removebg 的APIKEY:g79GjuedecMLVVwkfXWSLv26
'''

img_path = ''
dir_path = ''
bg_color = 'blue'

def change_bg_size():
    try:
        global img_path
        img_path = replace_bg()
        change_size()
        # 在輸出框顯示提示信息
        tree.heading("#0", text="成功修改背景與大小!")
    except Exception as e:
        # 顯示錯誤信息
        tree.heading("#0", text=e)

# 修改照片背景色
def replace_bg():
    api_key = entry5.get()

    # 在程序當前目錄創建一個error.log文件來保存錯誤信息(必要參數)
    Path('error.log').touch()
    rmbg = RemoveBg(api_key, 'error.log')
    # 執行后會在 read_path 同級文件夾內生成一張 xxx_no_bg.png 的圖片
    rmbg.remove_background_from_img_file(img_path)
    img_no_bg = Image.open(Path(str(img_path) + '_no_bg.png'))
    # 創建一個新的圖像,RGB代表真色彩,3通道,
    # color可以為顏色英文名 red 或是 十六進制顏色代碼 #00FF00
    new_img = Image.new('RGB', img_no_bg.size, color=bg_color)
    # 將沒有背景的圖像粘貼到含背景色的圖像上
    new_img.paste(img_no_bg, (0, 0, *img_no_bg.size), img_no_bg)
    save_path = Path(dir_path, str(img_path.name).split('.')[0] + 'replace_bg.png')
    new_img.save(save_path)
    return save_path
    tree.heading("#0", text="圖片已生成!")

# 修改照片尺寸
def change_size():
    width, height = entry4.get().split('x')
    image = Image.open(img_path)
    resized_image = image.resize((int(width), int(height)), Image.ANTIALIAS)
    resized_image.save(Path(dir_path, str(img_path.name).split('.')[0] + '_change_size.png'))
    tree.heading("#0", text="尺寸修改成功!")

# change_bgcolor('證件.png', 'p1_bg.png', 'oRdiK39HgoxdFE1A8QbL7wpF', 'red')

def selectFilePath():
    global img_path
    # 選擇文件path接收文件地址
    img_path = Path(filedialog.askopenfilename(title='選擇原圖片'))
    x, y = Image.open(img_path).size
    entry4.insert(0, str(x) + 'x' + str(y))
    path1.set(img_path)

def selectDirPath():
    global dir_path
    # 選擇文件path接收文件地址
    dir_path = Path(filedialog.askdirectory(title='選擇圖片保存路徑'))
    path2.set(dir_path)

def ChooseColor():
    global bg_color
    # 返回兩種格式的顏色代碼,這里只保存十六進制的
    _, bg_color = colorchooser.askcolor(title='顏色選擇器')
    path3.set(bg_color)

window = ThemedTk(theme="adapta", fonts=True, themebg=True)
window.title('證件照生成器——Python代碼大全')
label_style = ttk.Style()
label_style.configure("one.TLabel", font=("微軟雅黑", 16, 'bold'), foreground="red", background="yellow")

label_style1 = ttk.Style()
label_style1.configure("two.TLabel", font=("微軟雅黑", 9), foreground="blue", background="yellow")    

label_style2 = ttk.Style()
label_style2.configure("three.TLabel", font=("微軟雅黑", 10), foreground="blue", background="yellow")



# 設置選擇圖片路徑組件
path1 = tk.StringVar()
entry1 = ttk.Entry(window, textvariable=path1, width=30)
entry1.insert(0, '格式要求png')
button1 = ttk.Button(window,width=10, text = "圖片路徑", command = selectFilePath)

# 設置選擇文件保存路徑組件
path2 = tk.StringVar()
entry2 = ttk.Entry(window, textvariable=path2, width=30)
button2 = ttk.Button(window,width=10, text = "保存路徑", command = selectDirPath)

# 設置選擇背景顏色組件
path3 = tk.StringVar()
entry3 = ttk.Entry(window, textvariable=path3, width=30)
button3 = ttk.Button(window, text='背景顏色', command=ChooseColor)

# 設置圖片大小,默認原圖大小,格式如295x413(標準一寸)
label = ttk.Label(window, text='默認原圖大小,若要修改請按[]內
                    格式,如 [295x413] (標準一寸照)', wraplength=200, style='two.TLabel')
entry4 = ttk.Entry(window, width=30)
label1 = ttk.Label(window, text='圖片尺寸', style='three.TLabel')

# 填寫api-key
moren = tk.StringVar(value='g79GjuedecMLVVwkfXWSLv26')   #默認apiKey
entry5 = ttk.Entry(window, width=30, textvariable=moren,show="*")
label2 = ttk.Label(window, text='api-key', style='three.TLabel')

# 添加“同時修改”按鈕
button4 = ttk.Button(window, text = "同時修改", command=change_bg_size)
# 添加“修改背景”按鈕
button5 = ttk.Button(window, text = "修改背景", command=replace_bg)
# 添加“修改尺寸”按鈕
button6 = ttk.Button(window, text = "修改尺寸", command=change_size)

# 添加輸出框顯示
tree = ttk.Treeview(height=1, show=("tree", "headings"))

#main_label.grid(row = 0, column = 0, pady=5)
entry1.grid(row = 1, column = 0, pady=5)
button1.grid(row = 1, column = 1, padx=20)
entry2.grid(row = 2, column = 0, pady=5)
button2.grid(row = 2, column = 1, padx=20)
entry3.grid(row = 3, column = 0, pady=5)
button3.grid(row = 3, column = 1, padx=20)
label.grid(row = 4, column = 0, pady=5)
entry4.grid(row = 5, column = 0, pady=5)
label1.grid(row = 5, column = 1, pady=5)
entry5.grid(row = 6, column = 0, pady=5)
label2.grid(row = 6, column = 1, pady=5)
button4.grid(row = 7, column = 1, padx=5)
button5.grid(row = 7, column = 0, padx=5)
button6.grid(row = 8, column = 0, padx=5)
tree.grid(row=9, column=0, pady=5)
window.mainloop()

完整代碼下載地址:


https://download.csdn.net/download/weixin_42756970/85474989

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81402
  • 源代碼
    +關注

    關注

    96

    文章

    2946

    瀏覽量

    66951
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85037
收藏 人收藏

    評論

    相關推薦

    VBA程序源代碼

    VBA程序源代碼
    發表于 02-09 15:16 ?12次下載

    波形顯示電路的設計及制作(論文+源代碼

    波形顯示電路的設計及制作(論文+源代碼
    發表于 12-11 22:52 ?2次下載

    榮耀9什么時候上市最新消息:華為榮耀9發布時間確定6月12日,配置、外觀設計、證件照、價格大曝光

    今天,華為放出一張圖,說下月12日有神秘新品發布,應該就是榮耀9了。今日榮耀9的證件照也在工信部正式露臉,大致的裝備信息也浮出水面,匯集了曲面玻璃、雙攝、麒麟960等特性。下面就來各種信息大匯總!
    發表于 05-26 17:39 ?4229次閱讀

    ATtiny單片機電子蠟燭的制作源代碼程序資料免費下載

    本文檔的主要內容詳細介紹的是ATtiny電子蠟燭的制作源代碼程序資料免費下載。
    發表于 02-14 08:00 ?18次下載
    ATtiny單片機電子蠟燭的<b class='flag-5'>制作</b><b class='flag-5'>源代碼</b><b class='flag-5'>程序</b>資料免費下載

    OPPO Reno證件照曝光,“鍘刀式”前置攝像頭搶眼

    隨著發布時間的臨近,關于該機的消息越來越多,繼上周該機的標準版入網工信部后,現在有最新消息,該機的證件照首次得到確認。
    的頭像 發表于 04-11 17:38 ?3473次閱讀

    華為Mate20X5G證件照公布 業界首款SA/NSA5G雙模手機

    7月4日消息,工信部公布了華為Mate 20 X 5G證件照(型號為EVR-AN00),這是國行首款獲得5G終端電信進網許可證的智能手機。
    的頭像 發表于 07-05 09:22 ?2287次閱讀

    Python微服務開發的源代碼合集免費下載

    本文檔的主要內容詳細介紹的是Python微服務開發的源代碼合集免費下載。
    發表于 09-20 08:00 ?3次下載

    python實現目標檢測的源代碼免費下載

    本文檔的主要內容詳細介紹的是python實現目標檢測的源代碼免費下載
    發表于 04-09 08:00 ?6次下載
    <b class='flag-5'>python</b>實現目標檢測的<b class='flag-5'>源代碼</b>免費下載

    python文件讀取的源代碼免費下載

    本文檔的主要內容詳細介紹的是python文件讀取的源代碼免費下載。
    發表于 08-07 17:14 ?20次下載
    <b class='flag-5'>python</b>文件讀取的<b class='flag-5'>源代碼</b>免費下載

    Python版警察抓小偷游戲源代碼

    Python版警察抓小偷游戲源代碼,有多個難度級別,直接運行game.py,輸入難度級別(1-13)。不同的難度等級對應不同的圖形。
    的頭像 發表于 02-24 09:56 ?1826次閱讀
    <b class='flag-5'>Python</b>版警察抓小偷游戲<b class='flag-5'>源代碼</b>

    Python版超市管理系統源代碼

    Python版超市管理系統源代碼,基于django+mysql安裝步驟
    的頭像 發表于 02-24 09:59 ?1808次閱讀
    <b class='flag-5'>Python</b>版超市管理系統<b class='flag-5'>源代碼</b>

    Python編程實戰(源代碼)

    [源代碼]Python編程實戰 妙趣橫生的項目之旅
    發表于 06-06 17:49 ?3次下載

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發表于 06-06 17:50 ?0次下載

    努比亞Flip 5G折疊屏手機證件照首曝,即將國內發售

    近日,匿名科技公司于MWC2024上發布的努比亞Flip 5G折疊屏手機已在工業和信息化部網站上展示出其證件照片,預示著此款新品將在國內市場即將推出。
    的頭像 發表于 02-29 14:22 ?884次閱讀

    華為云 Flexus X 實例部署安裝 HivisionIDPhoto 一個輕量級的 AI 證件照制作算法

    背景 最近有一個開源項目非常火,就是 HivisionIDPhotos 一個輕量級的 AI 證件照制作算法 github 倉庫 https://github.com/Zeyi-Lin
    的頭像 發表于 12-25 17:08 ?184次閱讀
    華為云 Flexus X 實例部署安裝 HivisionIDPhoto 一個輕量級的 AI <b class='flag-5'>證件照</b><b class='flag-5'>制作</b>算法
    大发888排行| 大发888方管下载| 百家乐官网强对弱的对打法| 大发888bet| 百家乐好的平台| 大发888棋牌游戏| 澳门百家乐官网的玩法技巧和规则| 新全讯网| 真人百家乐新开户送彩金| 永丰县| 百家乐游戏客户端| 百家乐平注法攻略| 吕百家乐官网赢钱律| 百家乐官网赌博走势图| 二八杠游戏平台| 百家乐出千赌具| 澳门百家乐官网技术| 新利| 香港百家乐赌城| 马洪刚百家乐官网技巧| 上海德州扑克俱乐部| 玩网上百家乐的技巧| 百家乐比赛技巧| 太阳百家乐官网管理网| 泰安市| 大发888小陆| 百家乐赌博娱乐城大全| 百家乐官网论坛bocaila| 百家乐官网类游戏平台| 丹东亿酷棋牌下载| 大发888代充值存款| 新天地百家乐的玩法技巧和规则| 喜来登百家乐官网的玩法技巧和规则 | 金赞百家乐娱乐城| 风水24山走水| 大玩家百家乐官网的玩法技巧和规则| 博讯网| 威尼斯人娱乐注册网址| 手机百家乐的玩法技巧和规则 | 金赞百家乐现金网| 百家乐官网打鱼秘|