欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)批量設置圖片背景為透明

 更新時間:2024年11月11日 09:06:48   作者:PythonFun  
我們?nèi)粘I钪兄谱鱌PT等教學資源時,需要批量去除圖片背景,就可以使用 Python 的 rembg 庫,下面我們就來看看如何操作rembg實現(xiàn)批量設置圖片背景為透明吧

我們?nèi)粘I钪兄谱鱌PT等教學資源時,需要批量去除圖片背景,就可以使用 Python 的 rembg 庫。

這個庫基于神經(jīng)網(wǎng)絡模型,去背景效果較好,可以批量處理png, jpg, jpeg等圖片。采用以下代碼可以批量處理當前目錄下的所有圖片,去除背景后并保存為透明背景的圖像存在output當中。

一、安裝rembg庫

不過,使用前需要在cmd下或者pycharm, thonny等pyhon的idle調試工具中安裝一下這個rembg庫,安裝代碼:

pip install rembg

二、下載u2net.onnx機器學習模型

安裝完成rembg模塊后,第一次運行程序,調用這個模塊,還需要安裝機器學習模型:u2net.onnx,大小為176M,程序會自動下載,全程不需要干涉。

下載機器學習模型

這個模型文件 (u2net.onnx) 是經(jīng)過訓練的深度學習模型,包含了用于識別并分離前景和背景的算法權重。rembg 庫使用 U2-Net 來執(zhí)行背景去除的任務。第一次使用 rembg 時,庫會自動下載這個模型文件,以確保能夠正確運行背景去除功能。

具體來說:模型文件 u2net.onnx:U2-Net 模型是一個開源的圖像分割模型,專門用于前景-背景分離。rembg 使用這個模型的 .onnx 文件格式,方便兼容各種框架。

由于rembg 沒有默認包含該模型文件,因此在第一次運行時需要下載并存儲在本地(C:\Users\用戶名\.u2net\u2net.onnx),下載完成后,模型文件會保存在你用戶目錄的 .u2net 文件夾中,后續(xù)運行 rembg 就不需要重新下載。

三、編寫清除圖片背景代碼

下載完成后,程序會自動運行清除背景的程序,如下面的程序,批量把當前目錄下的圖片文件,移除背景,設置透明背景后存在output文件夾下面,全程操作非常的快。

import os
from rembg import remove
from PIL import Image
 
# 定義輸入和輸出文件夾
input_folder = '.'  # 當前目錄
output_folder = './output/'  # 輸出文件夾
 
# 創(chuàng)建輸出文件夾(如果不存在)
# if not os.path.exists(output_folder):
os.makedirs(output_folder,exist_ok=True)
 
# 遍歷當前目錄的所有文件
for filename in os.listdir(input_folder):
    # 檢查是否為圖像文件(可以添加更多格式)
    if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, filename.split('.')[0] + '_no_bg.png')
        
        # 打開圖像并去除背景
        with open(input_path, 'rb') as input_file:
            input_image = input_file.read()
            output_image = remove(input_image)
        
        # 將結果保存為 PNG 格式
        with open(output_path, 'wb') as output_file:
            output_file.write(output_image)
 
print("圖片背景已去除并保存到 'output' 文件夾。")

input_folder 指定輸入文件夾,這里設為當前目錄 ./。

output_folder 是輸出文件夾(去除背景后的圖片保存位置),如果不存在,則會自動創(chuàng)建。

腳本遍歷當前目錄中的所有圖像文件(.png, .jpg, .jpeg),去除背景后以透明背景 PNG 格式保存到 output 文件夾中。

四、效果對比

以下是清除背景前后的效果對比,怎么樣,還算不錯吧?

清除背景前:

清除背景后:

到此這篇關于Python實現(xiàn)批量設置圖片背景為透明的文章就介紹到這了,更多相關Python圖片背景透明內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python本地文件服務器實例教程

    python本地文件服務器實例教程

    這篇文章主要給大家介紹了關于python本地文件服務器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • 用Python將動態(tài)GIF圖片倒放播放的方法

    用Python將動態(tài)GIF圖片倒放播放的方法

    GIF(Graphics Interchange Format) 是一種可以用來呈現(xiàn)動畫效果的圖片格式,原理就是保存很多幀(Frame)靜態(tài)圖像,然后連續(xù)呈現(xiàn)。這篇文章主要介紹了用Python將動態(tài)GIF圖片倒放播放的方法,需要的朋友可以參考下
    2016-11-11
  • Python創(chuàng)建7種不同的文件格式的方法總結

    Python創(chuàng)建7種不同的文件格式的方法總結

    今天的這篇文章呢,小編來介紹一下如何通過Python來創(chuàng)建各種形式的文件,這里包括了:文本文件、CSV文件、Excel文件、壓縮文件、XML文件、JSON文件和PDF文件,需要的可以參考一下
    2023-01-01
  • Django def clean()函數(shù)對表單中的數(shù)據(jù)進行驗證操作

    Django def clean()函數(shù)對表單中的數(shù)據(jù)進行驗證操作

    這篇文章主要介紹了Django def clean()函數(shù)對表單中的數(shù)據(jù)進行驗證操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python 計算數(shù)據(jù)偏差和峰度的方法

    python 計算數(shù)據(jù)偏差和峰度的方法

    今天小編就為大家分享一篇python 計算數(shù)據(jù)偏差和峰度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python求1到n的階乘之和的實例

    Python求1到n的階乘之和的實例

    這篇文章主要介紹了Python求1到n的階乘之和的實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python爬蟲實現(xiàn)搭建代理ip池

    Python爬蟲實現(xiàn)搭建代理ip池

    這篇文章主要介紹了Python爬蟲實現(xiàn)搭建代理ip池,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的工作有所幫助
    2022-06-06
  • Pandas.DataFrame行和列的轉置的實現(xiàn)

    Pandas.DataFrame行和列的轉置的實現(xiàn)

    本文主要介紹了Pandas.DataFrame行和列的轉置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • python 實現(xiàn)將Numpy數(shù)組保存為圖像

    python 實現(xiàn)將Numpy數(shù)組保存為圖像

    今天小編就為大家分享一篇python 實現(xiàn)將Numpy數(shù)組保存為圖像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • eclipse創(chuàng)建python項目步驟詳解

    eclipse創(chuàng)建python項目步驟詳解

    在本篇內(nèi)容里小編給大家分享了關于eclipse創(chuàng)建python項目的具體步驟和方法,需要的朋友們跟著學習下。
    2019-05-05

最新評論