image pil 图像保存_如何利用python中的PIL库做图像处理?
自從這個(gè)世界上出現(xiàn)了Python編程,一切都好像有了新的思路與進(jìn)展,比如人工智能,還有我們常用的PS,你可知道Python也可以做圖像處理,用的就是PIL庫,還沒有用過的,還沒有發(fā)現(xiàn)的,還沒有實(shí)現(xiàn)過的,趕緊來本文學(xué)習(xí)吧:
在介紹本文之前,先為大家解釋一下什么是Python的PIL庫:
PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強(qiáng)大的功能與眾多的使用人數(shù),幾乎已經(jīng)被認(rèn)為是python官方圖像處理庫了,今天只是簡單的學(xué)習(xí)了幾個(gè)方法就已經(jīng)感受到PIL的強(qiáng)大。
PIL可以做很多和圖像處理相關(guān)的事情:
圖像歸檔(Image Archives)。PIL非常適合于圖像歸檔以及圖像的批處理任務(wù)。你可以使用PIL創(chuàng)建縮略圖,轉(zhuǎn)換圖像格式,打印圖像等等。
圖像展示(Image Display)。PIL較新的版本支持包括TkPhotoImage,BitmapImage還有Windows DIB等接口。PIL支持眾多的GUI框架接口,可以用于圖像展示。
圖像處理(Image Processing)。PIL包括了基礎(chǔ)的圖像處理函數(shù),包括對點(diǎn)的處理,使用眾多的卷積核(convolution kernels)做過濾(filter),還有顏色空間的轉(zhuǎn)換。PIL庫同樣支持圖像的大小轉(zhuǎn)換,圖像旋轉(zhuǎn),以及任意的仿射變換。PIL還有一些直方圖的方法,允許你展示圖像的一些統(tǒng)計(jì)特性。這個(gè)可以用來實(shí)現(xiàn)圖像的自動(dòng)對比度增強(qiáng),還有全局的統(tǒng)計(jì)分析等。
作為一個(gè)愛折騰的程序猿能用代碼的解決的情絕對不會(huì)用其他的方式,Python可以打飛機(jī),人工降雪,那么p個(gè)圖對于Python來說是小兒科了,今天先給大家介紹今天學(xué)到的三個(gè)比較好玩的操作:
代碼實(shí)現(xiàn)
先上一個(gè)效果圖。
實(shí)現(xiàn)這個(gè)效果使用的是PIL中的Blend類
Image.blend(image1,image2,alpha)
?image
使用給定的兩張圖像及透明度變量alpha,插值出一張新的圖像。這兩張圖像必須有一樣的尺寸和模式。
合成公式為:out=image1(1.0- alpha)+image2alpha
若變量alpha為0.0,返回第一張圖像的拷貝。若變量alpha為1.0,將返回第二張圖像的拷貝。對變量alpha的值無限制。
1from PIL import Image2im1 = Image.open("124.jpg")3im2 = Image.open("123.jpg")4print(im1.mode,im1.size)5print(im2.mode,im2.size)6im = Image.blend(im1, im2, 0.3)7im.save('k3.jpg')當(dāng)然除了上面的方法還可以使用Composite類
Image.composite(image1,image2, mask) ? image
復(fù)合類使用給定的兩張圖像及mask圖像作為透明度,插值出一張新的圖像。變量mask圖像的模式可以為“1”,“L”或者“RGBA”。所有圖像必須有相同的尺寸。
1from PIL import Image2im1 = Image.open("124.jpg")3im2 = Image.open("123.jpg")4r,g,b = im1.split() 5print(b.mode)6print(im1.mode,im1.size)7print(im2.mode,im2.size)8im = Image.composite(im1,im2,b)9im.save('k1.jpg')自己只是做了一個(gè)簡單的測試大家可以通過這種方法做出更好看的圖片,PIL不僅可以使兩張圖片進(jìn)行重合,還可以給圖片添加水印。
1from PIL import Image, ImageDraw,ImageFont 2#將原來的圖片轉(zhuǎn)換為RGBA模式 3im = Image.open(r"timg2.png").convert('RGBA') 4#新建一個(gè)圖片,尺寸與上面的尺寸一樣,透明度為0即完全透明 5txt=Image.new('RGBA', im.size, (0,0,0,0)) 6#設(shè)置要寫文字的字體 7fnt=ImageFont.truetype("D:PycharmProjectsmusicSIMYOU.TTF總結(jié)
以上是生活随笔為你收集整理的image pil 图像保存_如何利用python中的PIL库做图像处理?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC 设置光标 SetCursor(H
- 下一篇: python打飞机源码_python 飞