摘要:騷操作用來圖給大家帶來一篇關于的文章,全稱是,顧名思義,是用來做圖像處理的。支持眾多的框架接口,可以用于圖像展示。這個可以用來實現圖像的自動對比度增強,還有全局的統計分析等。
Python騷操作 | 用Python來P圖
給大家帶來一篇關于PIL的文章,PIL全稱是Python Image Library,顧名思義,是用來做圖像處理的。用這個庫,可以實現很多PS里的效果,比如像圖片模糊、尋找輪廓、邊緣檢測等等。我們來看看具體怎么做到的呢??
PS作為世界四大發明之一可以說被廣大網友用到了極致,只有你想不到的沒有我P不了的,任何正經的圖片在都可以變成搞笑圖片(比如下圖)當然也可以用ps做一點正經的事情。
作為一個愛折騰的程序猿能用代碼的解決的事情絕對不會用其他的方式,Python可以打飛機,人工降雪,那么p個圖對于Python來說是小兒科了,今天就教給大家Python之p圖大法。
具體介紹
今天P圖主要用到的就是PIL庫。
PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強大的功能與眾多的使用人數,幾乎已經被認為是python官方圖像處理庫了,今天只是簡單的學習了幾個方法就已經感受到PIL的強大。
PIL可以做很多和圖像處理相關的事情:
圖像歸檔(Image Archives)。PIL非常適合于圖像歸檔以及圖像的批處理任務。你可以使用PIL創建縮略圖,轉換圖像格式,打印圖像等等。
圖像展示(Image Display)。PIL較新的版本支持包括TkPhotoImage,BitmapImage還有Windows DIB等接口。PIL支持眾多的GUI框架接口,可以用于圖像展示。
圖像處理(Image Processing)。PIL包括了基礎的圖像處理函數,包括對點的處理,使用眾多的卷積核(convolution kernels)做過濾(filter),還有顏色空間的轉換。PIL庫同樣支持圖像的大小轉換,圖像旋轉,以及任意的仿射變換。PIL還有一些直方圖的方法,允許你展示圖像的一些統計特性。這個可以用來實現圖像的自動對比度增強,還有全局的統計分析等。
今天先給大家介紹今天學到的三個比較好玩的操作,并沒有詳細的介紹PIL那些最常用的特性與用法,感興趣的小伙伴文末留言如果人數較多會考慮分享常用的特性。
主要參考自:
http://www.effbot.org/imaging...
代碼實現
先上一個效果圖。
實現這個效果使用的是PIL中的Blend類
Image.blend(image1,image2,alpha)
?image
使用給定的兩張圖像及透明度變量alpha,插值出一張新的圖像。這兩張圖像必須有一樣的尺寸和模式。
合成公式為:out=image1(1.0- alpha)+image2alpha
若變量alpha為0.0,返回第一張圖像的拷貝。若變量alpha為1.0,將返回第二張圖像的拷貝。對變量alpha的值無限制。
from PIL import Image im1 = Image.open("124.jpg") im2 = Image.open("123.jpg") print(im1.mode,im1.size) print(im2.mode,im2.size) im = Image.blend(im1, im2, 0.3) im.save("k3.jpg")
當然除了上面的方法還可以使用Composite類
Image.composite(image1,image2, mask) ? image
復合類使用給定的兩張圖像及mask圖像作為透明度,插值出一張新的圖像。變量mask圖像的模式可以為“1”,“L”或者“RGBA”。所有圖像必須有相同的尺寸。
from PIL import Image im1 = Image.open("124.jpg") im2 = Image.open("123.jpg") r,g,b = im1.split() print(b.mode) print(im1.mode,im1.size) print(im2.mode,im2.size) im = Image.composite(im1,im2,b) im.save("k1.jpg")
自己只是做了一個簡單的測試大家可以通過這種方法做出更好看的圖片,PIL不僅可以使兩張圖片進行重合,還可以給圖片添加水印。
from PIL import Image, ImageDraw,ImageFont #將原來的圖片轉換為RGBA模式 im = Image.open(r"timg2.png").convert("RGBA") #新建一個圖片,尺寸與上面的尺寸一樣,透明度為0即完全透明 txt=Image.new("RGBA", im.size, (0,0,0,0)) #設置要寫文字的字體 fnt=ImageFont.truetype("D:PycharmProjectsmusicSIMYOU.TTF", 30) #打漢字 d=ImageDraw.Draw(txt) #寫要打的位置,內容,用的字體,文字透明度 d.text((txt.size[0]-205,txt.size[1]-50),"@Ahab雜貨鋪",font=fnt, fill=(255,0,0,300)) #兩個圖片復合 out=Image.alpha_composite(im, txt) #保存加水印后的圖片 out.save(r"KB.png")
下面帶來最后一組有趣的操作:
Filter類
im.filter(filter) ? image
返回一個使用給定濾波器處理過的圖像的拷貝。在該模塊中,預先定義了很多增強濾波器,可以通過filter()函數使用,預定義濾波器包括:
BLUR
CONTOUR
DETAIL
EDGE_ENHANCE
EDGE_ENHANCE_MORE
EMBOSS
FIND_EDGES
SMOOTH
其中BLUR就是均值濾波,CONTOUR找輪廓,FIND_EDGES邊緣檢測,使用該模塊時,需先導入。
from PIL import Image from PIL import ImageFilter ## 調取ImageFilter img = Image.open("123.jpg") blu = imgF.filter(ImageFilter.BLUR) ##均值濾波 con = imgF.filter(ImageFilter.CONTOUR) ##找輪廓 edge = imgF.filter(ImageFilter.FIND_EDGES) ##邊緣檢測 blu.save("k.jpg") con.save("k2.jpg") edge.save("k3.jpg")
看一下效果第一張是原圖,剩下的是根據我們設置的呈現的效果圖。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43110.html
此篇文章主要是給大家介紹了python圖像處理圖象的制作實例詳細說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪 文章正文 事實上前邊咱們就早已運用了圖象的制作,如: io.imshow(img) 這一行代碼的本質是運用matplotlib包對圖片開展制作,制作完成后,回到一個matplotlib類型的信息。因而,我們還可以這么寫: impor...
本文關鍵闡述了在pytorch中獲得計算圖和自行求導數,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,需用的同學可以參考下 序言: 今日聊聊pytorch的計算圖和自行求導數,我們首先從簡易事例來說,下邊是個簡單函數設立了yy和xx相互關系 然后我們結點和邊形式表示上面公式: 上面的式子可以用圖的形式表達,接下來我們用torch來計算x導數,首先我們創建一個tensor并且將...
小編寫這篇文章的主要目的,主要是給大家去做一個解答,解答的內容主要是關于Python pyecharts的一些案例,包括如何使用它去進行繪制一個相關的散點圖,怎么能夠快速的去進行繪制。就具體的內容,下面就給大家詳細解答下。 什么是散點圖? 散點圖是指在數理統計回歸分析中,數據點在直角坐標系平面上的分布圖,散點圖表示因變量隨自變量而變化的大致趨勢,由此趨勢可以選擇合適的函數進行經驗分布的擬合...
摘要:,簡稱為,是一種腳本語言,和配合使用,提供給用戶的只是一種靜態的信息,缺少交互性。這就是網頁的三大基本組成。父節點擁有子節點,同級的子節點被稱為兄弟節點。選擇屬于其父節點的首個節點的每個節點。同上,從最后一個 上一篇文章:Python3網絡爬蟲實戰---15、爬蟲基礎:HTTP基本原理下一篇文章:Python3網絡爬蟲實戰---17、爬蟲基本原理 我們平時用瀏覽器訪問網站的時候,一個...
閱讀 2171·2021-11-11 16:55
閱讀 1695·2019-08-30 15:54
閱讀 2824·2019-08-30 15:53
閱讀 2219·2019-08-30 15:44
閱讀 1158·2019-08-30 15:43
閱讀 972·2019-08-30 11:22
閱讀 1950·2019-08-29 17:20
閱讀 1574·2019-08-29 16:56