python PIL影象處理筆記
阿新 • • 發佈:2018-12-07
#coding:utf-8 from PIL import Image from PIL import ImageFilter im = Image.open('./1.jpg') #im.show() #開啟圖片 #im.save('./kda4.png') #儲存並儲存,可以轉換格式 #print im.format,im.size,im.mode #來源、大小(寬度,高度)、灰度(RGB:真彩) ''' #矩陣將RGB轉換成L 黑白 rgb2xyz = (0.412453,0.357580, 0.180423, 0, 0.212671,0.715160, 0.072169, 0, 0.019334,0.119193, 0.950227, 0 ) #new_im = im.convert("L", rgb2xyz) new_im = im.convert("L") print(new_im.mode) new_im.show() ''' ''' #生成128*128 紅色影象 n_im = Image.new("RGB",(128,128),'#ff0000') n_im.show() ''' #im_copy = im.copy() #複製影象,不會影響原影象 ''' #圖片裁剪 box = (0,0,500,752) region = im.crop(box) region.show() region.save('./2.jpg') ''' ''' 檢測 bluF = im.filter(ImageFilter.BLUR) #均值濾波 conF = im.filter(ImageFilter.CONTOUR) #尋找輪廓 edgeF = im.filter(ImageFilter.FIND_EDGES) #邊緣檢測 #bluF.show() #conF.show() #edgeF.show() ''' ''' #兩張圖片按透明度合成一張 im2 = Image.open('./2.jpg') im3 = Image.blend(im,im2,0.5) #0.5是透明度 im3.show() ''' ''' #圖片畫素點處理 變亮變暗 def a(x): return x*3 im2 = Image.eval(im,a) im2.show() ''' ''' #圖片按格式轉換 im2 = im.draft("L",(200,200)) im2.show() ''' #放回包圍盒座標 #print(im.getbbox()) #im2 = im.resize((400,400))#重新設定大小 #im2 = im.rotate(45) #順時針旋轉 ''' #擷取gif的幀 im3 = Image.open('./3.gif') im3.seek(1) im3.show() print im3.tell() #返回當前幀 ''' #im.thumbnail((100,100)) #圖片縮圖 #im.rotate(45) #逆時針旋轉 45 度角。 #im.transpose(Image.FLIP_LEFT_RIGHT) #左右對換。 #im.transpose(Image.FLIP_TOP_BOTTOM) #上下對換。 #im.transpose(Image.ROTATE_90) #旋轉 90 度角。 #im.transpose(Image.ROTATE_180) #旋轉 180 度角。 #im.transpose(Image.ROTATE_270) #旋轉 270 度角。