說道圖像處理很多人會(huì)想到PS,美圖,等一系列P圖軟件,但今天千峰所說的用python進(jìn)行圖像處理相對(duì)于其他的軟件處理有很大的區(qū)別,接下來讓我們一起來看看怎么實(shí)現(xiàn)用代碼進(jìn)行圖像處理吧! python的PIL模塊是專門用來處理圖片,其功能非常強(qiáng)大。 第一步:圖片裁剪 from PIL import Imageim = Image.open('jgz.jpg')box = (10,10,100,100)region = im.crop(box)region.save('cutting.jpg')將jgz.jpg圖片的((10,10), (10,100),(100,10),(100,100))所劃出的區(qū)域進(jìn)行裁切并保存在cutting.jpg當(dāng)中 第二步:圖片拼接 from PIL import Imageinfile = './jgz.jpg'outfile = './jgz1.jpg'im = Image.open(infile)(x,y) = im.sizex_s = 310y_s = y*x_s/xout=im.resize((x_s,y_s),Image.ANTIALIAS)out.save(outfile)將jpz.jpg的橫向像素強(qiáng)制為310,縱橫比不變。并保存在jgz1.jpg 第四步:在圖片上添加文字 #coding=utf-8from PIL import Image, ImageDraw, ImageFonttxt = '你這個(gè)死宅說話'txt2 = ' 還挺搞笑的'font_img = Image.open('./img.jpg')draw = ImageDraw.Draw(font_img)ttfront = ImageFont.truetype('./simhei.ttf',55)draw.text((140,560),unicode(txt,'UTF-8'), fill=(0,0,0), font=ttfront)draw.text((160,630),unicode(txt2,'UTF-8'), fill=(0,0,0), font=ttfront)font_img.save('./out.jpg')保證 simhei.ttf的路徑可以找到。在圖片 img.jpg的(140,560) (160,630)兩個(gè)位置分別寫入txt 和 txt2這兩句漢字。文件編碼是utf-8,并另存為out.jpg 第五步:圖片alpha通道化,白色變成透明 from PIL import Imageimg = Image.open('jgz.jpg')img = img.convert('RGBA')datas = img.getdata()newData = list()for item in datas: if item[0] >220 and item[1] > 220 and item[2] > 220: newData.append(( 255, 255, 255, 0)) else: newData.append(item) img.putdata(newData) img.save('jgz_alpha.png','PNG')將jgz.jpg的白色透明化并另存為jgz_alpha.png。注意透明化的圖片文件的格式一般為png |
|