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

Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印

 更新時(shí)間:2023年11月23日 11:44:14   作者:mYlEaVeiSmVp  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

應(yīng)部分朋友的問(wèn)題寫(xiě)的Python,

須提前安裝第三方庫(kù),安裝PIL庫(kù)(Pillow):在命令行中輸入pip install pillow進(jìn)行安裝;

將此py文件放入根目錄,

另外根目錄中有三個(gè)文件夾。

watermark(水印文件夾)、original(需加水印圖片的文件夾)、output(成品文件夾)

代碼如下:

from PIL import Image, ImageDraw
import os, random
 
water_path = './watermark'  #  水印文件夾路徑
watermark_list = os.listdir(water_path)
 
def do(file_name):
    # 打開(kāi)原始圖片和水印圖片
    original_image = Image.open(file_name)
    random_mark = random.choice(watermark_list)  # 選擇隨機(jī)水印圖片
    # print(random_mark)
    watermark_image = Image.open(f'{water_path}/{random_mark}')
 
    # 將水印圖片縮放到合適的大小
    watermark_width, watermark_height = watermark_image.size
    base_width, base_height = original_image.size
 
    watermark_image = watermark_image.resize((base_width,int(base_width/watermark_width*watermark_height)))
 
    # 創(chuàng)建一個(gè)和原始圖片相同大小的空白畫(huà)布
    canvas = Image.new('RGBA', original_image.size)
 
    # 將原始圖片粘貼到畫(huà)布上
    canvas.paste(original_image, (0, 0))
 
    # 將水印圖片粘貼到畫(huà)布上
    canvas.paste(watermark_image, (0, 0))
 
    # 保存帶有水印的圖片
    name = file_name.split("\\")[-1]
    canvas.save(f'./output/do_{name}')  # 成品保存路徑
    print(f">>>>  {name} 添加  {random_mark}  水印  成功。")
 
 
for root, dirs, files in os.walk("./original"):  # 需要加水印的文件夾路徑
    for name in files:
        file_name = os.path.join(root, name)
        do(file_name)

以下為一個(gè)Python給圖片添加文字水印的示例

from PIL import Image, ImageDraw, ImageFont
 
def add_watermark(input_image_path, output_image_path, watermark_text):
    # 打開(kāi)原始圖片
    base_image = Image.open(input_image_path).convert("RGBA")
 
    # 創(chuàng)建一個(gè)可以在給定圖像上繪圖的對(duì)象
    draw = ImageDraw.Draw(base_image)
 
    # 設(shè)置字體和大小
    font = ImageFont.truetype("arial.ttf", 15)  # 水印文字的字體,大小,這是英文字體不支持中文,換成自己的字體即可
 
    # 在圖片上添加水印,設(shè)置水印位置和顏色等
    draw.text((20,20), watermark_text, fill=color, font=font)
 
    # 保存帶有水印的圖片
    base_image.save(output_image_path)
 
# 使用示例
add_watermark("../img-test/orig.jpg",  # 需加水印的圖片
              "../img-test/orig--out.png",   # 最終的圖片
              "Watermark Text")  # 水印文字

以下一個(gè)給圖片添加透明圖片水印的例子

from PIL import Image
 
# 打開(kāi)背景圖片和水印圖片
background = Image.open('../img-test/orig.jpg')  # 需加水印的圖片
watermark = Image.open('../img-test/mark.png').convert("RGBA")  # 透明背景的水印圖片
 
 
# 將水印圖片粘貼到背景圖片上
background.paste(watermark, (0, 0),mask=watermark)  # 水印位置(0,0)
 
# 保存合并后的圖片
background.save('../img-test/orig_mark.png')

到此這篇關(guān)于Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印的文章就介紹到這了,更多相關(guān)Python圖片添加隨機(jī)水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • DataFrame數(shù)據(jù)框模糊查詢(xún)與去重方式

    DataFrame數(shù)據(jù)框模糊查詢(xún)與去重方式

    數(shù)據(jù)框模糊查詢(xún)通常使用contains函數(shù)和正則表達(dá)式來(lái)實(shí)現(xiàn),可以查詢(xún)以某個(gè)字符開(kāi)頭、包含或結(jié)尾的數(shù)據(jù),若數(shù)據(jù)類(lèi)型不一致可能會(huì)報(bào)錯(cuò),需統(tǒng)一為str類(lèi)型,數(shù)據(jù)框去重則通過(guò)drop_duplicates函數(shù)實(shí)現(xiàn),可指定列進(jìn)行去重,并有多種處理重復(fù)值的方式
    2024-09-09
  • Python實(shí)現(xiàn)的下載網(wǎng)頁(yè)源碼功能示例

    Python實(shí)現(xiàn)的下載網(wǎng)頁(yè)源碼功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的下載網(wǎng)頁(yè)源碼功能,涉及Python基于http請(qǐng)求與響應(yīng)實(shí)現(xiàn)的網(wǎng)頁(yè)源碼讀取功能相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Django傳遞數(shù)據(jù)給前端的3種方式小結(jié)

    Django傳遞數(shù)據(jù)給前端的3種方式小結(jié)

    Django從后臺(tái)往前臺(tái)傳遞數(shù)據(jù)時(shí)有多種方法可以實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Django傳遞數(shù)據(jù)給前端的3種方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Python變量命名規(guī)范的總結(jié)

    Python變量命名規(guī)范的總結(jié)

    在Python編程中,變量命名規(guī)范對(duì)于編寫(xiě)優(yōu)雅和可維護(hù)的代碼至關(guān)重要,本文主要介紹了Python變量命名規(guī)范的總結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • keras 指定程序在某塊卡上訓(xùn)練實(shí)例

    keras 指定程序在某塊卡上訓(xùn)練實(shí)例

    這篇文章主要介紹了keras 指定程序在某塊卡上訓(xùn)練實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • PyQt5每天必學(xué)之組合框

    PyQt5每天必學(xué)之組合框

    這篇文章主要為大家詳細(xì)介紹了PyQt5每天必學(xué)之組合框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python使用Selenium時(shí)遇到網(wǎng)頁(yè)<body>劃不動(dòng)的問(wèn)題解決方法

    Python使用Selenium時(shí)遇到網(wǎng)頁(yè)<body>劃不動(dòng)的問(wèn)題解決方法

    如果在使用 Selenium 時(shí)遇到網(wǎng)頁(yè)的 <body> 劃不動(dòng)的問(wèn)題,這通常是因?yàn)轫?yè)面的滾動(dòng)機(jī)制(例如,可能使用了一個(gè)具有固定高度的容器或自定義的滾動(dòng)條)導(dǎo)致無(wú)法通過(guò)簡(jiǎn)單的 JavaScript 實(shí)現(xiàn)滾動(dòng),可以通過(guò)以下方法來(lái)解決該問(wèn)題
    2024-10-10
  • Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控

    Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控

    psutil庫(kù)可以實(shí)時(shí)獲取系統(tǒng)的一些信息,這樣就可以達(dá)到實(shí)時(shí)監(jiān)控系統(tǒng)的目的。本文對(duì)詳細(xì)講解了ython使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控,感興趣的朋友可以看一看
    2021-08-08
  • Pandas 模糊查詢(xún)與替換的操作

    Pandas 模糊查詢(xún)與替換的操作

    這篇文章主要介紹了Pandas 模糊查詢(xún)與替換的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 基于PyQT5制作一個(gè)桌面摸魚(yú)工具

    基于PyQT5制作一個(gè)桌面摸魚(yú)工具

    這篇文章主要介紹了如何利用PyQT5制作一個(gè)桌面摸魚(yú)工具,利用摸魚(yú),打開(kāi)小說(shuō),可實(shí)行完美摸魚(yú),實(shí)時(shí)保存進(jìn)度,快來(lái)跟隨小編一起動(dòng)手試一試吧
    2022-02-02

最新評(píng)論