吴忠躺衫网络科技有限公司

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平台下载| 百家乐官网注码管理| 宝龙百家乐的玩法技巧和规则 | 缅甸百家乐龙虎斗| 博E百百家乐官网的玩法技巧和规则 | 百家乐平台导航| 百家乐的如何玩| 百家乐官网职业打| 百家乐官网云顶| 百家乐官网15人桌子| 百家乐官网冯耕耘打法| 幸运水果机小游戏| 黄金城百家乐手机版| 百家乐长t恤| 大都会百家乐的玩法技巧和规则 | 如何玩百家乐官网赢钱技巧| 百家乐官网龙虎的投注法| 百家乐官网投注玩多少钱| 百家乐官网注册| 贡觉县| 金阳县| 百家乐官网赌场作弊| 优博百家乐官网现金网| 龙南县| 百家乐官网娱乐网站| 百家乐官网最好的投注法| 百家乐官网路单之我见| 赌百家乐官网大小点桌| 中国百家乐官网技巧软件| 缅甸百家乐官网玩假吗| 百家乐官网发脾机| 太阳城7778886| 百家乐正确的打法| 罗马百家乐官网娱乐城| 亚洲顶级赌场手机版| 威尼斯人娱乐城代理合作| 百家乐赌博大全| 麻将百家乐筹码| 金锁玉关24山砂水断| 道真| 菲律宾太子娱乐城|