python圖像處理(2)圖像水印和PIL模式轉化


模式轉化:

PIL模式轉化:將圖片轉化成其他模式

 1 # 我們將image圖像轉化為灰度圖像(python)
 2 from PIL import Image
 3 img = Image.open('c:\\1.JPG')
 4 img.show()    # 圖像的打開展示
 5 # L = I.convert('L')
 6 # PIL的九種不同模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F 
 7 # 模式轉化語句 
 8 L = img.convert('I')
 9 w,h = img.size        # 圖尺寸
10 mode = img.mode         # 圖片的模式
11 geshi = img.format     # 圖片的格式                
12 print(w,h,mode,geshi)
13 L.show()

文字水印:

from PIL import Image, ImageDraw, ImageFont
# 添加文字水印
# RGBA的意思是(Red-Green-Blue-Alpha)它是在RGB上擴展包括了“alpha”通道,運行對顏色值設置透明度
im = Image.open("C:/1.jpg").convert('RGBA')  
txt=Image.new('RGBA', im.size, (0,0,0,0))    # 圖像的大小 顏色的四個屬性 數字越大越表現這個通道屬性
fnt=ImageFont.truetype("c:/Windows/fonts/Candara.ttf", 50)        # 選水印的字體 選暗色字體,顯色的無法出現不知原因
d=ImageDraw.Draw(txt)
d.text((txt.size[0]-120,txt.size[1]-50), "Hello",font=fnt,fill=(255,0,0,255))
out=Image.alpha_composite(im,txt)
out.show()
out.save(r"c:/pp.png")

圖片水印:

# 添加圖片水印

im = Image.open("C:/2.jpg")
mark=Image.open("C:/1.jpg")
print(im.size)
# RGBA表示四個屬性A表示透明度 關於new(‘模式’,大小尺寸,顏色)
layer=Image.new('RGBA', im.size, (0,0,0,0))
layer.paste(mark, (im.size[0]-400,im.size[1]-200))    # 改變水印圖片的位置
# composite:使用兩幅給出的圖片和一個與alpha參數相似用法的mask參數其值可為:"1","L","RGBA"。兩幅圖片的size必須相同。
out=Image.composite(layer,im,layer)
out.show()

#參考 https://blog.csdn.net/icamera0/article/details/50747084


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM