Python3 簡單的影象處理方法
最近需要學習python的影象處理方法,在這裡簡單的總結一下自己學到的一些影象處理的方法把~
1.Python PIL庫讀取影象
import PIL
from PIL import Image
im = Image.open(filepath)
2.簡單進行影象旋轉
out = im.rotate(270) #這裡輸入的是旋轉角度
out = im.transpose(Image.ROTATE_270)
3.在PIL中還可以吧RGB影象的R,G,B分離出來使用的呢;例如:
r,g,b = im.spilt() im = Image.merge("RGB",(r,b,g)) #這樣R,G,B就調換成了R,B,G來使用了,也就是說B的值當R來使用這個意思
4、影象增強,可以增強一下對比度
from PIL import ImageEnhance as ie
enh = ie.Contrast(image)
enh.enhance(1.3).show("30% enhance")
5、利用Image模組還可以建立thumnail
import glob for infile in glob.glob("*.jpg"): file, ext = os.splitext(infile) im = Image.open(infile) im.thumbnail((128, 128), Image.ANTIALIAS) im.save(file + ".thumbnail", "JPEG")
下面來介紹一下Image模組下的一些函式:
1=》Image.new(mode,size)/Image.new(mode,size,color)
這個是新建立一張圖片
2=》Image.open(infile)/Image.open(infile,mode)
這個是開啟一張圖片,開啟的這張圖片呢,在你對這張圖片進行操作之前是不會讀取進來的,在你進行操作的時候就讀進來
如果指定了mode的話,那一定是“r“
3=》Image.blend(image1,image2,alpha)
out = image * (1-alpha) + image2 * alpha
看看out你就知道了什麼意思了,當alpha是0時,輸出的就是image1,當alpha是1時,輸出的就是image2
但是兩個影象的大小需要一致的
4=》Image.composite(image1,image2,mask)
利用mask當做是alpha,建立一張在image1,image2之間的新影象
5=》Image.eval(function,image)
6=>Image.fromstring(mode,size,data)/Image.fromstring(mode,size,data,decoder,parameters)
對於第一個,就是從一個string中的畫素資料中建立影象,使用的解碼器是”raw“;第二個就是自選decoder了
7=>Image.merge(mode,bands)