1. 程式人生 > >python PIL影象處理筆記

python PIL影象處理筆記

#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 度角。