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

Python圖像處理之給圖片添加圓角效果的完整代碼

 更新時間:2025年03月06日 09:57:35   作者:蠟筆小新星  
在日常的圖像處理任務中,我們經常需要對圖片進行一些美化和調整,今天,我將向大家介紹一個使用Python編程語言,結合PIL(Python Imaging Library)庫,給圖片添加圓角效果的方法,需要的朋友可以參考下

代碼解析

首先,我們需要導入PIL庫中的ImageImageDraw模塊。這兩個模塊提供了豐富的圖像處理功能。

from PIL import Image, ImageDraw

接下來,我們定義一個名為round_corners的函數,該函數接受三個參數:image_path(輸入圖片的路徑)、output_path(輸出圖片的路徑)和radius(圓角的半徑)。

def round_corners(image_path, output_path, radius):

在函數內部,我們首先使用Image.open方法打開圖片,并將其轉換為"RGBA"模式,以便進行透明處理。

    image = Image.open(image_path).convert("RGBA")

然后,我們創(chuàng)建一個與原圖相同大小的空白圖像作為遮罩,這個遮罩將用于實現圓角效果。

    mask = Image.new("RGBA", image.size, (0, 0, 0, 0))

接下來,我們使用ImageDraw.Draw創(chuàng)建一個畫筆對象,并在遮罩上繪制一個圓角矩形。圓角矩形的填充顏色設置為白色(RGB值為(255, 255, 255))。

    draw = ImageDraw.Draw(mask)
    draw.rounded_rectangle((0, 0, image.width, image.height), radius, fill=(255, 255, 255))

現在,我們創(chuàng)建一個新的圖像對象result,其大小與原圖相同,并設置為"RGBA"模式。

    result = Image.new("RGBA", image.size)

使用paste方法,我們將原圖粘貼到新圖像上,并使用之前創(chuàng)建的遮罩來實現圓角效果。

    result.paste(image, mask=mask)

最后,我們使用save方法將處理后的圖片保存到指定的輸出路徑。

    result.save(output_path)

使用示例

下面是一個使用round_corners函數的示例。我們假設有一張名為20250306.png的圖片,并希望將其圓角半徑設置為300像素,處理后的圖片保存為20250306_output.png。

source_img = r'D:\test_pic\20250306.png'
output_img = r'D:\test_pic\20250306_output.png'
round_corners(source_img, output_img, 300)

完整示例

from PIL import Image, ImageDraw

def round_corners(image_path, output_path, radius):
    # 打開圖片,并轉換為RGBA模式,以支持透明背景
    image = Image.open(image_path).convert("RGBA")
    
    # 創(chuàng)建一個與原圖相同大小的空白圖像作為蒙版
    mask = Image.new("RGBA", image.size, (0, 0, 0, 0))
    
    # 創(chuàng)建一個畫筆對象,用于在蒙版上繪制圖形
    draw = ImageDraw.Draw(mask)
    
    # 在蒙版上繪制圓角矩形,圓角半徑為radius,填充顏色為白色(RGBA模式下為(255, 255, 255, 255))
    draw.rounded_rectangle((0, 0, image.width, image.height), radius, fill=(255, 255, 255, 255))
    
    # 創(chuàng)建一個新的圖像對象,大小與原圖相同,模式為RGBA
    result = Image.new("RGBA", image.size)
    
    # 將原圖粘貼到新圖像上,使用蒙版進行遮罩,只保留圓角矩形內的部分
    result.paste(image, mask=mask)
    
    # 保存處理后的圖像到指定路徑
    result.save(output_path)

# 示例用法
source_img = r'D:\test_pic\20250306.png'  # 源圖片路徑
output_img = r'D:\test_pic\20250306_output.png'         # 輸出圖片路徑
round_corners(source_img, output_img, 300)            # 調用函數,設置圓角半徑為300

實踐操作

你可以按照上面的示例代碼,將源圖片路徑和輸出圖片路徑替換為你自己的文件路徑,并調整圓角半徑的值來達到你想要的效果。運行代碼后,你將在指定路徑下找到處理后的圓角圖片。

結論

通過本文的教程,我們學會了如何使用Python編程語言結合PIL庫給圖片添加圓角效果。這個方法不僅簡單易行,而且效果顯著。在實際應用中,我們可以根據需要調整圓角半徑的大小,以達到不同的視覺效果。無論是美化圖片還是進行圖像處理項目,這個方法都是一個非常實用的工具。希望這篇文章對你有所幫助!

以上就是Python圖像處理之給圖片添加圓角效果的完整代碼的詳細內容,更多關于Python圖片添加圓角的資料請關注腳本之家其它相關文章!

相關文章

  • OpenCV-Python實現油畫效果的實例

    OpenCV-Python實現油畫效果的實例

    OpenCV是功能強大的計算機視覺庫,本文主要使用OpenCV來實現圖片的油畫效果,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 利用PyTorch實現VGG16教程

    利用PyTorch實現VGG16教程

    這篇文章主要介紹了利用PyTorch實現VGG16教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python編程scoketServer實現多線程同步實例代碼

    Python編程scoketServer實現多線程同步實例代碼

    這篇文章主要介紹了Python編程scoketServer實現多線程同步實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 使用Python和大模型進行數據分析和文本生成

    使用Python和大模型進行數據分析和文本生成

    Python語言以其簡潔和強大的特性,成為了數據科學、機器學習和人工智能開發(fā)的首選語言之一,在這篇文章中,我將介紹如何用Python連接和使用大模型,并通過示例展示如何在實際項目中應用這些技術,需要的朋友可以參考下
    2024-05-05
  • 向量化操作改進數據分析工作流的Pandas?Numpy示例分析

    向量化操作改進數據分析工作流的Pandas?Numpy示例分析

    這篇文章主要介紹了向量化操作改進數據分析工作流的Pandas?Numpy示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 淺析Python中作用域的應用

    淺析Python中作用域的應用

    這篇文章主要是想和大家一起來討論下去Python中的命名空間、作用域和LEGB規(guī)則等不同概念,文中的示例代碼簡潔易懂,快跟隨小編一起來學習一下吧
    2023-08-08
  • Python pyinotify模塊實現對文檔的實時監(jiān)控功能方法

    Python pyinotify模塊實現對文檔的實時監(jiān)控功能方法

    今天小編就為大家分享一篇Python pyinotify模塊實現對文檔的實時監(jiān)控功能方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 淺談python3發(fā)送post請求參數為空的情況

    淺談python3發(fā)送post請求參數為空的情況

    今天小編就為大家分享一篇淺談python3發(fā)送post請求參數為空的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 布同 統(tǒng)計英文單詞的個數的python代碼

    布同 統(tǒng)計英文單詞的個數的python代碼

    最近需要翻譯英文文章,所以需要統(tǒng)計單詞個數。索性寫了一段代碼在此,可以簡單的統(tǒng)計單詞的個數
    2011-03-03
  • pytorch模型保存到本地后,如何實現繼續(xù)訓練

    pytorch模型保存到本地后,如何實現繼續(xù)訓練

    在PyTorch中,保存和加載模型對于實現模型訓練的中斷和恢復非常有用,保存模型主要有兩種方式:一是保存整個模型包括結構與參數;二是僅保存模型的state_dict,加載模型時,若保存了整個模型則直接加載,若僅保存了state_dict,則需先實例化模型結構后加載
    2024-09-09

最新評論